<SEC-DOCUMENT>0001641172-25-000922.txt : 20250327
<SEC-HEADER>0001641172-25-000922.hdr.sgml : 20250327
<ACCEPTANCE-DATETIME>20250327160531
ACCESSION NUMBER:		0001641172-25-000922
CONFORMED SUBMISSION TYPE:	8-K
PUBLIC DOCUMENT COUNT:		14
CONFORMED PERIOD OF REPORT:	20250327
ITEM INFORMATION:		Results of Operations and Financial Condition
ITEM INFORMATION:		Regulation FD Disclosure
ITEM INFORMATION:		Financial Statements and Exhibits
FILED AS OF DATE:		20250327
DATE AS OF CHANGE:		20250327

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
		EIN:				462609396
		STATE OF INCORPORATION:			UT
		FISCAL YEAR END:			1231

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

	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>8-K
<SEQUENCE>1
<FILENAME>form8-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/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:us-roles="http://fasb.org/us-roles/2024" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:srt="http://fasb.org/srt/2024" xmlns:CODX="http://co-dx.com/20250327">
<head>
     <title></title>
<meta http-equiv="Content-Type" content="text/html"/>
</head>
<!-- Field: Set; Name: xdx; ID: xdx_02D_US%2DGAAP%2D2024 -->
<!-- Field: Set; Name: xdx; ID: xdx_03E_CODX_co%2Ddx.com_20250327 -->
<!-- Field: Set; Name: xdx; ID: xdx_04C_20250327_20250327 -->
<!-- Field: Set; Name: xdx; ID: xdx_059_edei%2D%2DAmendmentFlag_false -->
<!-- Field: Set; Name: xdx; ID: xdx_05D_edei%2D%2DEntityCentralIndexKey_0001692415 -->
<!-- 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 -->
<body style="font: 10pt Times New Roman, Times, Serif">
<div style="display: none">
<ix:header>
 <ix:hidden>
  <ix:nonNumeric contextRef="AsOf2025-03-27" id="Fact000003" name="dei:AmendmentFlag">false</ix:nonNumeric>
  <ix:nonNumeric contextRef="AsOf2025-03-27" id="Fact000004" name="dei:EntityCentralIndexKey">0001692415</ix:nonNumeric>
  </ix:hidden>
 <ix:references>
  <link:schemaRef xlink:href="codx-20250327.xsd" xlink:type="simple"/>
  </ix:references>
 <ix:resources>
    <xbrli:context id="AsOf2025-03-27">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-03-27</xbrli:startDate>
        <xbrli:endDate>2025-03-27</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>
  </ix:resources>
 </ix:header>
</div>


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; 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: 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: 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: 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: 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: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b>FORM
<span id="xdx_907_edei--DocumentType_c20250327__20250327_z9GfwRY23fAf"><ix:nonNumeric contextRef="AsOf2025-03-27" id="Fact000009" name="dei:DocumentType">8-K</ix:nonNumeric></span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Pursuant
to Section 13 or 15(d) of the</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 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: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date
of report (Date of earliest event reported): <b><span id="xdx_90D_edei--DocumentPeriodEndDate_c20250327__20250327_zfhxTFQnXyQa"><ix:nonNumeric contextRef="AsOf2025-03-27" format="ixt:datemonthdayyearen" id="Fact000010" name="dei:DocumentPeriodEndDate">March 27, 2025</ix:nonNumeric></span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 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: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b><span id="xdx_902_edei--EntityRegistrantName_c20250327__20250327_zo9ooEOA2c37"><ix:nonNumeric contextRef="AsOf2025-03-27" id="Fact000011" name="dei:EntityRegistrantName">CO-DIAGNOSTICS,
INC.</ix:nonNumeric></span></b></span></p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Exact
name of small business issuer as specified in its charter)</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 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%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 32%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_909_edei--EntityIncorporationStateCountryCode_c20250327__20250327_zdbeG1oUw062"><ix:nonNumeric contextRef="AsOf2025-03-27" format="ixt-sec:stateprovnameen" id="Fact000012" name="dei:EntityIncorporationStateCountryCode">Utah</ix:nonNumeric></span></b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; 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 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 32%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_901_edei--EntityFileNumber_c20250327__20250327_zrN7a3MP5UX8"><ix:nonNumeric contextRef="AsOf2025-03-27" id="Fact000013" name="dei:EntityFileNumber">1-38148</ix:nonNumeric></span></b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; 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 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 32%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_90B_edei--EntityTaxIdentificationNumber_c20250327__20250327_zLIb9tGVfBE3"><ix:nonNumeric contextRef="AsOf2025-03-27" id="Fact000014" name="dei:EntityTaxIdentificationNumber">46-2609363</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; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(State
    or other jurisdiction of</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">(Commission</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">(IRS
    Employer</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">incorporation
    or organization)</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">File
    Number)</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">Identification
    Number)</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 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: 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_90F_edei--EntityAddressAddressLine1_c20250327__20250327_zQb30j9DrcH8"><ix:nonNumeric contextRef="AsOf2025-03-27" id="Fact000015" name="dei:EntityAddressAddressLine1">2401
S. Foothill Drive</ix:nonNumeric></span>, <span id="xdx_904_edei--EntityAddressAddressLine2_c20250327__20250327_z0vbpeQ6djyc"><ix:nonNumeric contextRef="AsOf2025-03-27" id="Fact000016" name="dei:EntityAddressAddressLine2">Suite D</ix:nonNumeric></span>, <span id="xdx_90F_edei--EntityAddressCityOrTown_c20250327__20250327_z7fBALSBdTTl"><ix:nonNumeric contextRef="AsOf2025-03-27" id="Fact000017" name="dei:EntityAddressCityOrTown">Salt Lake City</ix:nonNumeric></span>, <span id="xdx_902_edei--EntityAddressStateOrProvince_c20250327__20250327_zv5QkPWMXzg6"><ix:nonNumeric contextRef="AsOf2025-03-27" format="ixt-sec:stateprovnameen" id="Fact000018" name="dei:EntityAddressStateOrProvince">Utah</ix:nonNumeric></span> <span id="xdx_907_edei--EntityAddressPostalZipCode_c20250327__20250327_zERQD5FMzfq4"><ix:nonNumeric contextRef="AsOf2025-03-27" id="Fact000019" name="dei:EntityAddressPostalZipCode">84109</ix:nonNumeric></span></span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 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: 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_c20250327__20250327_za53Dko8Hpkg"><ix:nonNumeric contextRef="AsOf2025-03-27" id="Fact000020" name="dei:CityAreaCode">(801)</ix:nonNumeric></span>
<span id="xdx_90A_edei--LocalPhoneNumber_c20250327__20250327_zVwsbdC30HY4"><ix:nonNumeric contextRef="AsOf2025-03-27" id="Fact000021" name="dei:LocalPhoneNumber">438-1036</ix:nonNumeric></span></span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 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: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Check
the appropriate box below if the Form 8-K filing is intended to simultaneously satisfy the filing obligation of the registrant under
any of the following provisions:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 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%; 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"><span id="xdx_902_edei--WrittenCommunications_c20250327__20250327_z5Q1aPKQnq4b"><ix:nonNumeric contextRef="AsOf2025-03-27" format="ixt:booleanfalse" id="Fact000022" name="dei:WrittenCommunications">&#9744;</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">Written
    communications pursuant to Rule 425 under the Securities Act (17 CFR 230.425)</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></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"><span id="xdx_90A_edei--SolicitingMaterial_c20250327__20250327_zsrUTvGvFe27"><ix:nonNumeric contextRef="AsOf2025-03-27" format="ixt:booleanfalse" id="Fact000023" name="dei:SolicitingMaterial">&#9744;</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">Soliciting
    material pursuant to Rule 14a-12 under the Exchange Act (17 CFR 240.14a-12)</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></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"><span id="xdx_908_edei--PreCommencementTenderOffer_c20250327__20250327_zxYBSZjJXaPk"><ix:nonNumeric contextRef="AsOf2025-03-27" format="ixt:booleanfalse" id="Fact000024" name="dei:PreCommencementTenderOffer">&#9744;</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">Pre-commencement
    communications pursuant to Rule 14d-2(b) under the Exchange Act (17 CFR 240.14d-2(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; 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"><span id="xdx_903_edei--PreCommencementIssuerTenderOffer_c20250327__20250327_zT5divdRFB92"><ix:nonNumeric contextRef="AsOf2025-03-27" format="ixt:booleanfalse" id="Fact000025" name="dei:PreCommencementIssuerTenderOffer">&#9744;</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">Pre-commencement
    communications pursuant to Rule 13e-4(c) under the Exchange Act (17 CFR 240.13e-4(c))</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 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%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 36%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title
    of each class</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; 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 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 20%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trading
    Symbol(s)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; 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 1pt 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">Name
    of each exchange on which registered</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_901_edei--Security12bTitle_c20250327__20250327_zraoXug6qJ3"><ix:nonNumeric contextRef="AsOf2025-03-27" id="Fact000026" name="dei:Security12bTitle">Common
    Stock, par value $0.001 per share</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_902_edei--TradingSymbol_c20250327__20250327_zDSCw8dqIDz3"><ix:nonNumeric contextRef="AsOf2025-03-27" id="Fact000027" name="dei:TradingSymbol">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"><span>The
    <span id="xdx_90B_edei--SecurityExchangeName_c20250327__20250327_z3HXf93TY6w6"><ix:nonNumeric contextRef="AsOf2025-03-27" format="ixt-sec:exchnameen" id="Fact000028" name="dei:SecurityExchangeName">Nasdaq</ix:nonNumeric></span> Capital Market</span></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant is an emerging growth company as defined in Rule 405 of the Securities Act of 1933 (&#167;230.405
of this chapter) or Rule 12b-2 of the Securities Exchange Act of 1934 (&#167;240.12b-2 of this chapter).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Emerging
growth company <span id="xdx_903_edei--EntityEmergingGrowthCompany_c20250327__20250327_zy0zGuoxOux5"><ix:nonNumeric contextRef="AsOf2025-03-27" format="ixt:booleanfalse" id="Fact000029" name="dei:EntityEmergingGrowthCompany">&#9744;</ix:nonNumeric></span></span></p>

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

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

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

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

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

<!-- Field: Page; Sequence: 1 -->
    <div style="border-bottom: Black 1pt 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="text-align: center; width: 100%">&#160;</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="text-align: left; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
2.02. Results of Operations and Financial Condition.</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
March 27, 2025, Co-Diagnostics, Inc. (the &#8220;Company&#8221;) issued a press release announcing financial results for its year ended
December 31, 2024. The full text of the press release, which includes information regarding the Company&#8217;s use of a non-GAAP financial
measure, is furnished as Exhibit 99.1 to this Form 8-K.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
information contained in this Item 2.02, including Exhibit 99.1 attached hereto, is being furnished and shall not be deemed to be &#8220;filed&#8221;
for the purposes of Section 18 of the Securities Exchange Act of 1934, or otherwise subject to the liabilities of that section. Furthermore,
the information contained in this Item 2.02 or Exhibit 99.1 shall not be deemed to be incorporated by reference into any registration
statement or other document filed pursuant to the Securities Act of 1933, except as shall be expressly set forth by specific reference
in such filing.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
information set forth under Item 2.02 is incorporated by reference as if fully set forth herein.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 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%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Exhibit
    No.:</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; width: 0.1in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Description:</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">99.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; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex99-1.htm">Press Release, dated March 27, 2025</a></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">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; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cover
    Page Interactive Data File (embedded within the Inline XBRL document)</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

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

<!-- Field: Page; Sequence: 2 -->
    <div style="border-bottom: Black 1pt 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="text-align: center; width: 100%">&#160;</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="text-align: left; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 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: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Pursuant
to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by
the undersigned, hereunto duly authorized.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 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%; border-collapse: collapse">
  <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"><b>&#160;</b></span></td>
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif"><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; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 50%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 5%"><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: 45%"><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">Date:
    March 27, 2025</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</span></td>
    <td style="border-bottom: Black 1pt 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></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">Name:
    </span></td>
    <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></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">Title:</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
    Financial Officer</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Principal
    Financial and Accounting Officer)</span></p></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

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

<!-- Field: Page; Sequence: 3; Options: Last -->
    <div style="border-bottom: Black 1pt 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="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

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

<!-- Field: Set; Name: xdx; ID: xdx_08B_extensions -->
<!-- eJxFjdEKgkAQRb/Afxj2WUwNH/IxKYksQiJ63XKKJd2R2c30k/rLNiUaBmaGe89cIXyR01rVyHBelgUcsWlraRFKvCGjvqJzZJttCm6WeFfGstR2PH9gRo5BxyRBnFycMFo7ZbBKIZzPosUsTtySJhEcdsL76hnpm6pQWyVrkLqCA1PLCq3kYfpwlD1paoYx6oRsFOkUoiCc5DfEYRTDnjr5In4YKIpMeP5YnsiZnq1zrXqL+kvCqsbGxZmJ/rf3AQrYSpM= -->
</body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-99.1
<SEQUENCE>2
<FILENAME>ex99-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: 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: 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Exhibit
99.1</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 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: 0; text-align: center; background-color: white"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Co-Diagnostics,
Inc. Reports Full Year 2024 Financial Results</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center; background-color: white"><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: 0; text-align: justify; background-color: white"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>SALT
LAKE CITY, March 27, 2025&mdash;</B> Co-Diagnostics, Inc. (NASDAQ: CODX), a molecular diagnostics company with a unique, patented platform
for the development of molecular diagnostic tests, today announced financial results for the fourth quarter and full year ended December
31, 2024.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white"><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: 0; text-align: justify; background-color: white"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B><U>Full
Year 2024 Financial Results:</U></B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white"><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="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">Revenue
    of $3.9 million, which declined from $6.8 million during the prior year primarily due to higher Grant revenue in 2023. Grant revenue
    totaled $3.1 million while product revenue totaled $0.8 million</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">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif">&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">Operating
    expenses of $43.0 million decreased by 5.2% from the prior year due to higher expenses in 2023 related to platform development and
    regulatory submission preparation</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">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif">&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">Operating
    loss of $40.1 million compared to operating loss of $42.7 million in 2023 </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">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif">&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">Net
    loss of $37.6 million, compared to net loss of $35.3 million in the prior year, representing a loss of $1.24 per fully diluted share,
    compared to a loss of $1.20 per fully diluted share in the prior year </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">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif">&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">Adjusted
    EBITDA loss of $33.5 million</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">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;</FONT></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.25in"><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: top; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <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">Cash,
    cash equivalents, and marketable securities of $29.7 million as of December 31, 2024</FONT></TD>
    </TR>
</TABLE>

<P STYLE="margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;</FONT></P>

<P STYLE="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"><B><U>Full
Year 2024 and Recent Business Highlights:</U></B></FONT></P>



<P STYLE="margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif">&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">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 0.25in"><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: top; width: 0.25in"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></P></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inaugurated
                                            CoSara Diagnostics Pvt. Ltd.&rsquo;s oligonucleotide synthesis facility in India to manufacture
                                            the Company&rsquo;s patented Co-Primers&reg; chemistry</FONT></P></TD>
    </TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><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: top"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></P></TD>
    <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">Attended
    a number of trade shows and expos throughout 2024, including UHCA/UCAL Fall Convention &amp; Expo, Medlab Africa in Cape Town, and
    MEDICA Trade Fair in Germany</FONT></TD>
    </TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><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: top"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"></P></TD>
    <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">Inaugurated
    a new manufacturing facility in South Salt Lake to manufacture our patented Co-Primers oligonucleotides, the Co-Dx&trade; PCR Pro&trade;
    instrument, and test cups for the new Co-Dx PCR platform</FONT></TD>
    </TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif">&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"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></P></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Advanced
                                            regulatory strategy through completion of an initial 510(k) application to the U.S. Food
                                            and Drug Administration (FDA) for the Co-Dx&trade; PCR Pro&trade; Platform, which has
                                            subsequently been withdrawn with the intention of submitting an enhanced version of the test
                                            and instrument for 510(k) clearance</FONT></P></TD></TR>
  </TABLE>

<P STYLE="margin-top: 0; margin-bottom: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;</FONT></P>

<P STYLE="margin-top: 0; margin-bottom: 0"></P>

<!-- Field: Page; Sequence: 1 -->
    <DIV STYLE="border-bottom: Black 1pt 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="text-align: center; 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="text-align: left; width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="margin-top: 0; margin-bottom: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;</FONT></P>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&ldquo;We
are pleased by the progress of our pipeline development in 2024,&rdquo; said Dwight Egan, Co-Diagnostics&rsquo; Chief Executive Officer.
&ldquo;We recently announced our decision to withdraw our 510(k) application for the Co-Dx PCR Pro and Co-Dx PCR COVID-19
test from the FDA, as we now prepare to gather updated clinical data in support of a new submission for an enhanced version of the test
and instrument. We firmly believe that this decision will allow us to offer an even better test upon our initial launch and streamline
the associated operational and manufacturing processes, which will be leveraged for future commercialization plans across our development
pipeline. Elsewhere, we have made great progress on our tuberculosis test and anticipate clinical evaluations for this indication,
as well as for the HPV multiplex and upper respiratory multiplex tests, all to commence later this year. We remain well positioned
to execute our development and regulatory goals in 2025 and strongly believe in the potential of the platform, our people, and the company
to make a positive impact on the state of global health.&rdquo;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 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: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&ldquo;We
are pleased with how our progress in 2024 has moved us closer to commercializing the new platform, and are now actively
focused on achieving our 2025 goals. As we advance our diagnostic test pipeline, we are committed to generating operational efficiencies
to help offset development costs. We look forward to updating you on our further progress throughout the year,&rdquo; said Brian Brown,
Co-Diagnostics&rsquo; Chief Financial Officer.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B><I>&nbsp;</I></B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B><I>Conference
Call and Webcast</I></B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B><I>&nbsp;</I></B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Co-Diagnostics
will host a conference call and webcast at 4:30 p.m. EDT today to discuss its financial results with analysts and institutional investors.
The conference call and webcast will be available via:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 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: 0 0 0 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Webcast:
<U>ir.codiagnostics.com</U> on the Events &amp; Webcasts page</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; 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: 0 0 0 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Conference
Call: 844-481-2661 (domestic) or 412-317-0652 (international)</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; 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: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
call will be recorded and later made available on the Company&rsquo;s website: <U>https://codiagnostics.com</U>.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 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: 0; text-align: justify; background-color: white"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I><U>*The
Co-Dx PCR platform (including the PCR Home&trade;, PCR Pro&trade;, mobile app, and all associated tests) is subject to review by the
FDA and/or other regulatory bodies and is not yet available for sale.</U></I></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white"><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: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>About
Co-Diagnostics, Inc.:</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><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: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Co-Diagnostics,
Inc., a Utah corporation, is a molecular diagnostics company that develops, manufactures and markets state-of-the-art diagnostics technologies.
The Company&rsquo;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 at-home and point-of-care platform
and to identify genetic markers for use in applications other than infectious disease.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white"><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: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B><I>Non-GAAP
Financial Measures:</I></B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 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: 0; text-align: justify; background-color: white"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>This
press release contains adjusted EBITDA, which is a non-GAAP measure defined as net income excluding depreciation, amortization, income
tax (benefit) expense, net interest (income) expense, stock-based compensation, change in fair value of contingent consideration,
and realized gain on investments. The Company believes that adjusted EBITDA provides useful information to management and investors
relating to its results of operations. The Company&rsquo;s management uses this non-GAAP measure to compare the Company&rsquo;s performance
to that of prior periods for trend analyses, and for budgeting and planning purposes. The Company believes that the use of adjusted EBITDA
provides an additional tool for investors to use in evaluating ongoing operating results and trends and in comparing the Company&rsquo;s
financial measures with other companies, many of which present similar non-GAAP financial measures to investors, and that it allows for
greater transparency with respect to key metrics used by management in its financial and operational decision-making.</I></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>&nbsp;</I></FONT></P>

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

<!-- Field: Page; Sequence: 2 -->
    <DIV STYLE="border-bottom: Black 1pt 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="text-align: center; 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="text-align: left; width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>&nbsp;</I></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>Management
does not consider the non-GAAP measure in isolation or as an alternative to financial measures determined in accordance with GAAP. The
principal limitation of the non-GAAP financial measure is that it excludes significant expenses that are required by GAAP to be recorded
in the Company&rsquo;s financial statements. In order to compensate for these limitations, management presents the non-GAAP financial
measure together with GAAP results. Non-GAAP measures should be considered in addition to results prepared in accordance with GAAP, but
should not be considered a substitute for, or superior to, GAAP results. A reconciliation table of the net income, the most comparable
GAAP financial measure to adjusted EBITDA, is included at the end of this release. The Company urges investors to review the reconciliation
and not to rely on any single financial measure to evaluate the company&rsquo;s business.</I></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>&nbsp;</I></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B><I>Forward-Looking
Statements:</I></B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B><I>&nbsp;</I></B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>This
press release contains forward-looking statements. Forward-looking statements can be identified by words such as &ldquo;believes,&rdquo;
&ldquo;expects,&rdquo; &ldquo;estimates,&rdquo; &ldquo;intends,&rdquo; &ldquo;may,&rdquo; &ldquo;plans,&rdquo; &ldquo;will&rdquo; and
similar expressions, or the negative of these words. Such forward-looking statements are based on facts and conditions as they exist
at the time such statements are made and predictions as to future facts and conditions. Forward-looking statements in this release include
statements (i) that our decision to withdraw our 510(k) application for the PCR Pro and associated COVID-19 test from the FDA and gather
updated clinical will allow us to offer an even better test upon our initial launch and streamline the associated operational and manufacturing
processes, and (ii) that we anticipate clinical evaluations for our tuberculosis test, as well as for the HPV multiplex and upper
respiratory multiplex tests to commence later this year. Forward-looking statements are subject to inherent uncertainties, risks
and changes in circumstances. Actual results may differ materially from those contemplated or anticipated by such forward-looking statements.
Readers of this press release are cautioned not to place undue reliance on any forward-looking statements. There can be no assurance
that any of the anticipated results will occur on a timely basis or at all due to certain risks and uncertainties, a discussion of which
can be found in our Risk Factors disclosure in our Annual Report on Form 10-K, filed with the Securities and Exchange Commission (SEC)
on March 27, 2025, and in our other filings with the SEC. The Company does not undertake any obligation to update any forward-looking
statement relating to matters discussed in this press release, except as may be required by applicable securities laws.</I></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>&nbsp;</I></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Investor
Relations Contact:</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><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: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Andrew
Benson</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Head
of Investor Relations</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">+1
801-438-1036</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>investors@codiagnostics.com</U></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;</FONT></P>

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

<!-- Field: Page; Sequence: 3 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1pt 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="text-align: center; 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="text-align: left; width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 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: 0; text-align: justify"></P>

<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"><B>CO-DIAGNOSTICS, INC. AND SUBSIDIARIES</B></FONT></P>

<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"><B>CONSOLIDATED BALANCE SHEETS</B></FONT></P>

<P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt">&nbsp;</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>&nbsp;</TD><TD STYLE="font-weight: bold; padding-bottom: 1pt">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31, 2024</TD><TD STYLE="padding-bottom: 1pt; font-weight: bold">&nbsp;</TD><TD STYLE="font-weight: bold; padding-bottom: 1pt">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31, 2023</TD><TD STYLE="padding-bottom: 1pt; font-weight: bold">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD><B>Assets</B></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><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: White">
    <TD STYLE="text-align: left">Current assets</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><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="padding-left: 10pt; width: 60%; text-align: left">Cash and cash equivalents</TD><TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="width: 1%; text-align: left">$</TD><TD STYLE="width: 16%; text-align: right">2,936,544</TD><TD STYLE="width: 1%; text-align: left">&nbsp;</TD><TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="width: 1%; text-align: left">$</TD><TD STYLE="width: 16%; text-align: right">14,916,878</TD><TD STYLE="width: 1%; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="padding-left: 10pt; text-align: left">Marketable investment securities</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">26,811,098</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">43,631,510</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="padding-left: 10pt; text-align: left">Accounts receivable, net</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">132,570</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">303,926</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="padding-left: 10pt; text-align: left">Inventory, net</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">1,072,724</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">1,664,725</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="padding-left: 10pt; text-align: left">Income taxes receivable</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">-</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">26,955</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="padding-left: 10pt; text-align: left; padding-bottom: 1pt">Prepaid expenses and other current assets</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">1,338,762</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">1,597,114</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="padding-left: 20pt; text-align: left">Total current assets</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">32,291,698</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">62,141,108</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="padding-left: 10pt; text-align: left">Property and equipment, net</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">2,761,280</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">3,035,729</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="padding-left: 10pt; text-align: left">Operating lease right-of-use asset</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">2,114,876</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">2,966,774</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="padding-left: 10pt; text-align: left">Intangible assets, net</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">26,101,000</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">26,403,667</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="padding-left: 10pt; text-align: left; padding-bottom: 1pt">Investment in joint venture</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">731,065</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">773,382</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="padding-left: 20pt; text-align: left; padding-bottom: 2.5pt">Total assets</TD><TD STYLE="padding-bottom: 2.5pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 2.5pt double; text-align: left">$</TD><TD STYLE="border-bottom: Black 2.5pt double; text-align: right">63,999,919</TD><TD STYLE="padding-bottom: 2.5pt; text-align: left">&nbsp;</TD><TD STYLE="padding-bottom: 2.5pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 2.5pt double; text-align: left">$</TD><TD STYLE="border-bottom: Black 2.5pt double; text-align: right">95,320,660</TD><TD STYLE="padding-bottom: 2.5pt; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="text-align: left"><B>Liabilities and stockholders&rsquo; equity</B></TD><TD STYLE="font-weight: bold">&nbsp;</TD>
    <TD STYLE="font-weight: bold; text-align: left">&nbsp;</TD><TD STYLE="font-weight: bold; text-align: right">&nbsp;</TD><TD STYLE="font-weight: bold; text-align: left">&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: White">
    <TD STYLE="text-align: left">Current liabilities</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><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="padding-left: 10pt; text-align: left">Accounts payable</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">$</TD><TD STYLE="text-align: right">3,294,254</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">$</TD><TD STYLE="text-align: right">1,482,109</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="padding-left: 10pt; text-align: left">Accrued expenses</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">2,562,169</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">2,172,959</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="padding-left: 10pt; text-align: left">Operating lease liability, current</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">915,619</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">838,387</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="padding-left: 10pt; text-align: left">Contingent consideration liabilities, current</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">502,819</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">891,666</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="padding-left: 10pt; text-align: left; padding-bottom: 1pt">Deferred revenue</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">40,857</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">362,449</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="padding-left: 20pt; text-align: left">Total current liabilities</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">7,315,718</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">5,747,570</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="text-align: left">Long-term liabilities</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><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: White">
    <TD STYLE="padding-left: 10pt; text-align: left">Income taxes payable</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">713,643</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">659,186</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="padding-left: 10pt; text-align: left">Operating lease liability</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">1,236,560</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">2,152,180</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="padding-left: 10pt; text-align: left; padding-bottom: 1pt">Contingent consideration liabilities</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">422,080</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">748,109</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="padding-left: 20pt; text-align: left; padding-bottom: 1pt">Total long-term liabilities</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">2,372,283</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">3,559,475</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="padding-left: 20pt; text-align: left; padding-bottom: 1pt">Total liabilities</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">9,688,001</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">9,307,045</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="text-align: left"><B>Commitments and contingencies (Note 12)</B></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><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: White">
    <TD STYLE="text-align: left"><B>Stockholders&rsquo; equity</B></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><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="padding-left: 20pt">Convertible preferred stock, $0.001 par value; 5,000,000 shares authorized; 0 shares issued and outstanding as of December 31, 2024 and December 31, 2023, respectively</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">-</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">-</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="padding-left: 20pt">Common stock, $0.001 par value; 100,000,000 shares authorized; 37,902,222 shares issued and 33,053,544 shares outstanding as of December 31, 2024 and 36,108,346 shares issued and 31,259,668 shares outstanding as of December 31, 2023</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">37,902</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">36,108</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="padding-left: 20pt">Treasury stock, at cost; 4,848,678 shares held as of December 31, 2024 and December 31, 2023, respectively</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">(15,575,795</TD><TD STYLE="text-align: left">)</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">(15,575,795</TD><TD STYLE="text-align: left">)</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="padding-left: 10pt; text-align: left">Additional paid-in capital</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">102,472,210</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">96,808,436</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="padding-left: 10pt; text-align: left">Accumulated other comprehensive income</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">418,443</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">146,700</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="padding-left: 10pt; text-align: left; padding-bottom: 1pt">Accumulated earnings (deficit)</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">(33,040,842</TD><TD STYLE="padding-bottom: 1pt; text-align: left">)</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">4,598,166</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="padding-left: 20pt; text-align: left; padding-bottom: 1pt">Total stockholders&rsquo; equity</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">54,311,918</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">86,013,615</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="padding-left: 20pt; text-align: left; padding-bottom: 2.5pt">Total liabilities and stockholders&rsquo; equity</TD><TD STYLE="padding-bottom: 2.5pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 2.5pt double; text-align: left">$</TD><TD STYLE="border-bottom: Black 2.5pt double; text-align: right">63,999,919</TD><TD STYLE="padding-bottom: 2.5pt; text-align: left">&nbsp;</TD><TD STYLE="padding-bottom: 2.5pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 2.5pt double; text-align: left">$</TD><TD STYLE="border-bottom: Black 2.5pt double; text-align: right">95,320,660</TD><TD STYLE="padding-bottom: 2.5pt; text-align: left">&nbsp;</TD></TR>
  </TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 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: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"></FONT></P>

<!-- Field: Page; Sequence: 4 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1pt 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="text-align: center; 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="text-align: left; width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<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"><B>CO-DIAGNOSTICS,
INC. AND SUBSIDIARIES</B></FONT></P>

<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"><B>CONSOLIDATED
STATEMENTS OF OPERATIONS AND COMPREHENSIVE LOSS</B></FONT></P>

<P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt">&nbsp;</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>&nbsp;</TD><TD STYLE="font-weight: bold; padding-bottom: 1pt">&nbsp;</TD>
    <TD COLSPAN="6" STYLE="font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</TD><TD STYLE="padding-bottom: 1pt; font-weight: bold">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="text-align: center; border-bottom: Black 1pt solid">2024</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="text-align: center; border-bottom: Black 1pt solid">2023</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="width: 60%; text-align: left">Product revenue</TD><TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="width: 1%; text-align: left">$</TD><TD STYLE="width: 16%; text-align: right">770,048</TD><TD STYLE="width: 1%; text-align: left">&nbsp;</TD><TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="width: 1%; text-align: left">$</TD><TD STYLE="width: 16%; text-align: right">991,473</TD><TD STYLE="width: 1%; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="text-align: left; padding-bottom: 1pt">Grant revenue</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">3,145,112</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">5,820,565</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</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>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">3,915,160</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">6,812,038</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="padding-bottom: 1pt">Cost of revenue</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">999,124</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">4,184,949</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="padding-left: 10pt; text-align: left; padding-bottom: 1pt">Gross profit</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">2,916,036</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">2,627,089</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="text-align: left">Operating expenses</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><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="padding-left: 10pt; text-align: left">Sales and marketing</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">4,483,339</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">6,860,815</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="padding-left: 10pt; text-align: left">General and administrative</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">16,157,152</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">14,279,441</TD><TD STYLE="text-align: left">&nbsp;</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>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">20,979,589</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">22,962,593</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="padding-left: 10pt; text-align: left; padding-bottom: 1pt">Depreciation and amortization</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">1,377,266</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">1,230,474</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="padding-left: 20pt; text-align: left; padding-bottom: 1pt">Total operating expenses</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">42,997,346</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">45,333,323</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="padding-left: 30pt; text-align: left; padding-bottom: 1pt">Loss from operations</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">(40,081,310</TD><TD STYLE="padding-bottom: 1pt; text-align: left">)</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">(42,706,234</TD><TD STYLE="padding-bottom: 1pt; text-align: left">)</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="text-align: left">Other income, net</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><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: White">
    <TD STYLE="padding-left: 10pt; text-align: left">Interest income, net</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">1,091,825</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">1,161,913</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="padding-left: 10pt; text-align: left">Realized gain on investments</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">870,745</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">2,243,059</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="padding-left: 10pt; text-align: left">Gain (loss) on disposition of assets</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">8,291</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">(2,578</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">Gain on remeasurement of acquisition contingencies</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">714,876</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">1,092,581</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="padding-left: 10pt; text-align: left; padding-bottom: 1pt">Gain (loss) on equity method investment in joint venture</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">(186,067</TD><TD STYLE="padding-bottom: 1pt; text-align: left">)</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">100,703</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="padding-left: 20pt; text-align: left; padding-bottom: 1pt">Total other income, net</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">2,499,670</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">4,595,678</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="text-align: left">Loss before income taxes</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">(37,581,640</TD><TD STYLE="text-align: left">)</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">(38,110,556</TD><TD STYLE="text-align: left">)</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="text-align: left; padding-bottom: 1pt">Income tax provision (benefit)</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">57,368</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">(2,777,691</TD><TD STYLE="padding-bottom: 1pt; text-align: left">)</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="text-align: left; padding-bottom: 2.5pt">Net loss</TD><TD STYLE="padding-bottom: 2.5pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 2.5pt double; text-align: left">$</TD><TD STYLE="border-bottom: Black 2.5pt double; text-align: right">(37,639,008</TD><TD STYLE="padding-bottom: 2.5pt; text-align: left">)</TD><TD STYLE="padding-bottom: 2.5pt">&nbsp;</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></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="text-align: left">Other comprehensive loss</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><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: White">
    <TD STYLE="padding-left: 10pt; text-align: left; padding-bottom: 1pt">Change in net unrealized gains on marketable securities, net of tax</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">271,743</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">(146,440</TD><TD STYLE="padding-bottom: 1pt; text-align: left">)</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="text-align: left; padding-bottom: 1pt">Total other comprehensive income (loss)</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">$</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">271,743</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">$</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">(146,440</TD><TD STYLE="padding-bottom: 1pt; text-align: left">)</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="text-align: left; padding-bottom: 2.5pt">Comprehensive loss</TD><TD STYLE="padding-bottom: 2.5pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 2.5pt double; text-align: left">$</TD><TD STYLE="border-bottom: Black 2.5pt double; text-align: right">(37,367,265</TD><TD STYLE="padding-bottom: 2.5pt; text-align: left">)</TD><TD STYLE="padding-bottom: 2.5pt">&nbsp;</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,479,305</TD><TD STYLE="padding-bottom: 2.5pt; text-align: left">)</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD>&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><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: White">
    <TD>Loss per common share:</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><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="padding-left: 10pt; text-align: left">Basic and Diluted</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">$</TD><TD STYLE="text-align: right">(1.24</TD><TD STYLE="text-align: left">)</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">$</TD><TD STYLE="text-align: right">(1.20</TD><TD STYLE="text-align: left">)</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD>Weighted average shares outstanding:</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><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="padding-left: 10pt; text-align: left">Basic and Diluted</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">30,335,350</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">29,346,599</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  </TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 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: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"></FONT></P>

<!-- Field: Page; Sequence: 5 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1pt 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="text-align: center; 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="text-align: left; width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<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"><B>CO-DIAGNOSTICS, INC. AND SUBSIDIARIES </B></FONT></P>

<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"><B>GAAP AND NON-GAAP MEASURES</B></FONT></P>

<P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt">&nbsp;</P>

<P STYLE="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"><B>Reconciliation
of net loss to adjusted EBITDA:</B> </FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt">&nbsp;

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD><TD STYLE="font-weight: bold; padding-bottom: 1pt">&nbsp;</TD>
    <TD COLSPAN="6" STYLE="font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</TD><TD STYLE="padding-bottom: 1pt; font-weight: bold">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="text-align: center; border-bottom: Black 1pt solid">2024</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="text-align: center; border-bottom: Black 1pt solid">2023</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="width: 60%; text-align: left">Net loss</TD><TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="width: 1%; text-align: left">$</TD><TD STYLE="width: 16%; text-align: right">(37,639,008</TD><TD STYLE="width: 1%; text-align: left">)</TD><TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="width: 1%; text-align: left">$</TD><TD STYLE="width: 16%; text-align: right">(35,332,865</TD><TD STYLE="width: 1%; text-align: left">)</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="text-align: left">Interest income, net</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">(1,091,825</TD><TD STYLE="text-align: left">)</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">(1,161,913</TD><TD STYLE="text-align: left">)</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="text-align: left">Realized gain on investments</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">(870,745</TD><TD STYLE="text-align: left">)</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">(2,243,059</TD><TD STYLE="text-align: left">)</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="text-align: left">Depreciation and amortization</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">1,377,266</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">1,230,474</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="text-align: left">(Gain) loss on disposition of assets</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">(8,291</TD><TD STYLE="text-align: left">)</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">2,578</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="text-align: left">Change in fair value of contingent consideration</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">(714,876</TD><TD STYLE="text-align: left">)</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">(1,092,581</TD><TD STYLE="text-align: left">)</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="text-align: left">Stock-based compensation expense</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">5,434,904</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">8,336,856</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="text-align: left; padding-bottom: 1pt">Income tax provision (benefit)</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">57,368</TD><TD STYLE="padding-bottom: 1pt; text-align: left">&nbsp;</TD><TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; text-align: left">&nbsp;</TD><TD STYLE="border-bottom: Black 1pt solid; text-align: right">(2,777,691</TD><TD STYLE="padding-bottom: 1pt; 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">Adjusted EBITDA</TD><TD STYLE="padding-bottom: 2.5pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 2.5pt double; text-align: left">$</TD><TD STYLE="border-bottom: Black 2.5pt double; text-align: right">(33,455,207</TD><TD STYLE="padding-bottom: 2.5pt; text-align: left">)</TD><TD STYLE="padding-bottom: 2.5pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 2.5pt double; text-align: left">$</TD><TD STYLE="border-bottom: Black 2.5pt double; text-align: right">(33,038,201</TD><TD STYLE="padding-bottom: 2.5pt; text-align: left">)</TD></TR>
  </TABLE>

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

<!-- Field: Page; Sequence: 6; Options: Last -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1pt 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="text-align: center; width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;</FONT></P>



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


</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>3
<FILENAME>codx-20250327.xsd
<DESCRIPTION>XBRL SCHEMA FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" ?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.25b -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
    <!-- Field: Doc-Info; Name: Misc; Value: 96Mps7xRiXgen8uDanwsWa2BWbP9z5Z8iekhvWB1bWlK/ykkfNcUrCsEMKamcXcI -->
<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/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:srt="http://fasb.org/srt/2024" xmlns:srt-types="http://fasb.org/srt-types/2024" xmlns:CODX="http://co-dx.com/20250327" elementFormDefault="qualified" targetNamespace="http://co-dx.com/20250327">
    <annotation>
      <appinfo>
        <link:roleType roleURI="http://co-dx.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:linkbaseRef xlink:type="simple" xlink:href="codx-20250327_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-20250327_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" />
      </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/2024" schemaLocation="https://xbrl.sec.gov/dei/2024/dei-2024.xsd" />
    <import namespace="http://fasb.org/us-gaap/2024" schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd" />
    <import namespace="http://fasb.org/us-types/2024" schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.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/country/2024" schemaLocation="https://xbrl.sec.gov/country/2024/country-2024.xsd" />
    <import namespace="http://fasb.org/srt/2024" schemaLocation="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd" />
    <import namespace="http://fasb.org/srt-types/2024" schemaLocation="https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>4
<FILENAME>codx-20250327_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.25b -->
    <!-- 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.sec.gov/dei/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>5
<FILENAME>codx-20250327_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.25b -->
    <!-- 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://co-dx.com/role/Cover" xlink:href="codx-20250327.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpDisclosure" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#PvpDisclosure" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ErrCompDisclosure" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#AwardTimingDisclosure" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#InsiderTradingArrangements" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#InsiderTradingPoliciesProc" xlink:type="simple" />
    <link:presentationLink xlink:type="extended" xlink:role="http://co-dx.com/role/Cover" xlink:title="00000001 - Document - Cover">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.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/2024/dei-2024.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="loc_deiDocumentsIncorporatedByReferenceTextBlock" />
      <link:presentationArc order="570" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentsIncorporatedByReferenceTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/PvpDisclosure" />
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/PvpDisclosure" />
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/PvpDisclosure" />
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" />
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" />
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" />
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" />
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>7
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cover<br></strong></div></th>
<th class="th"><div>Mar. 27, 2025</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>
</tr>
<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">8-K<span></span>
</td>
</tr>
<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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Mar. 27,  2025<span></span>
</td>
</tr>
<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_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">1-38148<span></span>
</td>
</tr>
<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_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">CO-DIAGNOSTICS,
INC.<span></span>
</td>
</tr>
<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_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001692415<span></span>
</td>
</tr>
<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_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">46-2609363<span></span>
</td>
</tr>
<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_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">UT<span></span>
</td>
</tr>
<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_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">2401
S. Foothill Drive<span></span>
</td>
</tr>
<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_EntityAddressAddressLine2', window );">Entity Address, Address Line Two</a></td>
<td class="text">Suite D<span></span>
</td>
</tr>
<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>
</tr>
<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>
</tr>
<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>
</tr>
<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>
</tr>
<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>
</tr>
<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_WrittenCommunications', window );">Written Communications</a></td>
<td class="text">false<span></span>
</td>
</tr>
<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_SolicitingMaterial', window );">Soliciting Material</a></td>
<td class="text">false<span></span>
</td>
</tr>
<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_PreCommencementTenderOffer', window );">Pre-commencement Tender Offer</a></td>
<td class="text">false<span></span>
</td>
</tr>
<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_PreCommencementIssuerTenderOffer', window );">Pre-commencement Issuer Tender Offer</a></td>
<td class="text">false<span></span>
</td>
</tr>
<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, par value $0.001 per share<span></span>
</td>
</tr>
<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>
</tr>
<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>
</tr>
<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>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_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_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 2 such as Street or Suite number</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_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_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_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_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_PreCommencementIssuerTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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.</p></div>
<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 13e<br> -Subsection 4c<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_PreCommencementIssuerTenderOffer</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_PreCommencementTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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.</p></div>
<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 14d<br> -Subsection 2b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_PreCommencementTenderOffer</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_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_SolicitingMaterial">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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.</p></div>
<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 14a<br> -Subsection 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;">dei_SolicitingMaterial</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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_WrittenCommunications">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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.</p></div>
<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 425<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_WrittenCommunications</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>8
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( *^ >UI&QTU(E0   ,T    0    9&]C4')O<',O87!P+GAM
M;$W/30O", P&X+]2=K>9BAZD#D0]BIZ\SRYUA;8I;83Z[^T$/VYY><@;HBZ)
M(B:VF$7Q+N1M,S+'#4#6(_H^R\JABJ'D>ZXQW8&,L1H/I!\> \.B;=> A3$,
M.,SBM[#IU"Y&9W7/ED)WLCI1)L/B6#0ZL2<?J]P<"A#G>B4^BQ-+.9<K!?^+
M4\L54Y[FRF_\9 6_![H74$L#!!0    ( *^ >UH),N3T[@   "L"   1
M9&]C4')O<',O8V]R92YX;6S-DL%JPS ,AE]E^)[(2>@&)LVEHZ<.!BML[&9L
MM36+8V-K)'W[.5Z;,K8'V-'2[T^?0*WR0KF S\%Y#&0PWDVV'Z)0?LU.1%X
M1'5"*V.9$D-J'ERPDM(S',%+]2&/"#7G]V"1I)8D8086?B&RKM5*J("27+C@
MM5KP_C/T&:858(\6!XI0E16P;I[HSU/?P@TPPPB#C=\%U LQ5__$Y@ZP2W**
M9DF-XUB.3<ZE'2IX>]J]Y'4+,T22@\+T*QI!9X]K=IW\VFP>]UO6U;Q>%;PI
MZH=]S05?B8:_SZX__&["UFES,/_8^"K8M?#K+KHO4$L#!!0    ( *^ >UJ9
M7)PC$ 8  )PG   3    >&PO=&AE;64O=&AE;64Q+GAM;.U:6W/:.!1^[Z_0
M>&?V;0O&-H&VM!-S:7;;M)F$[4X?A1%8C6QY9)&$?[]'-A#+E@WMDDVZFSP$
M+.G[SD5'Y^@X>?/N+F+HAHB4\GA@V2_;UKNW+][@5S(D$4$P&:>O\, *I4Q>
MM5II ,,X?<D3$L/<@HL(2W@4R]9<X%L:+R/6ZK3;W5:$:6RA&$=D8'U>+&A
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
MKW#.RW^0\Y^M<\TUMTQ>DO:C_S=7^2V,D_'T7!S1JP,Z6PE<A!OZ%>Y7>>9
M]IV03NA1.XJRY/K%.?7A'=O["_PJOE]?\HIUTNUF<$//\A=>BD[E\ZI[J,NX
MZBQ_AOMHD<VWL,\E=,E[7FY'U=;[021>\%G'!QR>(W?#$T<PGX#%$<"P/!@#
MS"=X87G^I_VLT/T$#..VBB(KU&>%^@2O&+(=/EB>N$_NG_A.\SQ-LPRKZ'8;
M9;#%ZI9E\!>/AG$##RP/9'I;K?%NXQ/R^AQ@/7UM0K"=XI.([12O-2#QNH%'
MGL>[C>4!#ZP+V.Q _G@>F*FX3YI"5S%NV G&D3S'$)C%^(QF&5*=##[Q_F"G
M)$WS/(X %F>0IA@"IQ%', ;  4/2='@//GL?)=-[*CG_5U/\!%!+ P04
M" "O@'M:EXJ[',     3 @  "P   %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">
M, ?0(8@S9?$6!/D!5J(/V!(%BD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]
M$%)I6M6X 4BV)8]ISI%"KM0L'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA<
MUYVE/=LO3T%O@*\Z3'%":4A+,P[PS=)_,O?S##5%Y4HCE5L:>-/E_G;@2=&A
M(E@6FD7)TZ(=I7\=Q_:0T^FO8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X
M4$L#!!0    ( *^ >UJJQ"(6,P$  "("   /    >&PO=V]R:V)O;VLN>&UL
MC5'1;L(P#/R5*A^P%K0A#5%>0-N0I@V-B??0NM0BB2O'A8VOG]NJ&M)>]I3<
MV;K<7187XM.!Z)1\>1=B;FJ19IZFL:C!VWA'#02=5,3>BD(^IK%AL&6L <2[
M=)IEL]1;#&:Y&+6VG-X"$B@$*2C9$7N$2_R==S Y8\0#.I3OW/1W!R;Q&-#C
M%<K<9":)-5U>B/%*0:S;%4S.Y68R#/; @L4?>M>9_+2'V#-B#Q]6C>1FEJE@
MA1REW^CUK7H\@RX/J!5Z0B? :ROPS-0V&(Z=C*9(;V+T/8SG4.*<_U,C5146
ML*:B]1!DZ)'!=09#K+&))@G60VY6= ;N\N@#FW+()FKJIBF>HPYX4P[V1D\E
M5!B@?%.9J+SV4VPYZ8Y>9WK_,'G4'EKG5LJ]AU>RY1AQ_)[E#U!+ P04
M" "O@'M:)!Z;HJT   #X 0  &@   'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR
M96QSM9$]#H,P#(6O$N4 -5"I0P5,75@K+A %\R,2$L6N"K<OA0&0.G1ALIXM
M?^_)3I]H%'=NH+;S)$9K!LIDR^SO *1;M(HNSN,P3VH7K.)9A@:\TKUJ$)(H
MND'8,V2>[IFBG#S^0W1UW6E\./VR./ /,+Q=Z*E%9"E*%1KD3,)HMC;!4N++
M3):BJ#(9BBJ6<%H@XLD@;6E6?;!/3K3G>1<W]T6NS>,)KM\,<'AT_@%02P,$
M%     @ KX![6F60>9(9 0  SP,  !,   !;0V]N=&5N=%]4>7!E<UTN>&UL
MK9--3L,P$(6O$F5;)2XL6*"F&V +77 !8T\:J_Z39UK2VS-.VDJ@$A6%3:QX
MWKS/GI>LWH\1L.B=]=B4'5%\% )5!TYB'2)XKK0A.4G\FK8B2K636Q#WR^6#
M4,$3>*HH>Y3KU3.T<F^I>.EY&TWP39G 8ED\C<+,:DH9HS5*$M?%P>L?E.I$
MJ+EST&!G(BY84(JKA%SY'7#J>SM 2D9#L9&)7J5CE>BM0#I:P'K:XLH90]L:
M!3JHO>.6&F,"J;$#(&?KT70Q32:>,(S/N]G\P68*R,I-"A$YL01_QYTCR=U5
M9"-(9*:O>"&R]>S[04Y;@[Z1S>/]#&DWY(%B6.;/^'O&%_\;SO$1PNZ_/[&\
MUDX:?^:+X3]>?P%02P$"% ,4    " "O@'M:1L=-2)4   #-    $
M        @ $     9&]C4')O<',O87!P+GAM;%!+ 0(4 Q0    ( *^ >UH)
M,N3T[@   "L"   1              "  <,   !D;V-0<F]P<R]C;W)E+GAM
M;%!+ 0(4 Q0    ( *^ >UJ97)PC$ 8  )PG   3              "  > !
M  !X;"]T:&5M92]T:&5M93$N>&UL4$L! A0#%     @ KX![6CX)<V9J!
M*!$  !@              ("!(0@  'AL+W=O<FMS:&5E=',O<VAE970Q+GAM
M;%!+ 0(4 Q0    ( *^ >UJ?H!OPL0(  .(,   -              "  <$,
M  !X;"]S='EL97,N>&UL4$L! A0#%     @ KX![6I>*NQS     $P(   L
M             ( !G0\  %]R96QS+RYR96QS4$L! A0#%     @ KX![6JK$
M(A8S 0  (@(   \              ( !AA   'AL+W=O<FMB;V]K+GAM;%!+
M 0(4 Q0    ( *^ >UHD'INBK0   /@!   :              "  >81  !X
M;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<U!+ 0(4 Q0    ( *^ >UIED'F2
M&0$  ,\#   3              "  <L2  !;0V]N=&5N=%]4>7!E<UTN>&UL
64$L%!@     )  D /@(  !44      $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>9
<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>10
<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>12
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.25.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>1</ContextCount>
  <ElementCount>23</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>0</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>3</UnitCount>
  <MyReports>
    <Report instance="form8-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://co-dx.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</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-20250327.xsd</File>
    <File>codx-20250327_lab.xml</File>
    <File>codx-20250327_pre.xml</File>
    <File doctype="8-K" isOnlyDei="true" isUsgaap="true" original="form8-k.htm">form8-k.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="23">http://xbrl.sec.gov/dei/2024</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>14
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "form8-k.htm": {
   "nsprefix": "CODX",
   "nsuri": "http://co-dx.com/20250327",
   "dts": {
    "schema": {
     "local": [
      "codx-20250327.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",
      "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/2024/elts/srt-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-roles-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd",
      "https://xbrl.sec.gov/country/2024/country-2024.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024.xsd",
      "https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd",
      "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd"
     ]
    },
    "labelLink": {
     "local": [
      "codx-20250327_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "codx-20250327_pre.xml"
     ]
    },
    "inline": {
     "local": [
      "form8-k.htm"
     ]
    }
   },
   "keyStandard": 23,
   "keyCustom": 0,
   "axisStandard": 0,
   "axisCustom": 0,
   "memberStandard": 0,
   "memberCustom": 0,
   "hidden": {
    "total": 2,
    "http://xbrl.sec.gov/dei/2024": 2
   },
   "contextCount": 1,
   "entityCount": 1,
   "segmentCount": 0,
   "elementCount": 59,
   "unitCount": 3,
   "baseTaxonomies": {
    "http://xbrl.sec.gov/dei/2024": 23
   },
   "report": {
    "R1": {
     "role": "http://co-dx.com/role/Cover",
     "longName": "00000001 - Document - Cover",
     "shortName": "Cover",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "AsOf2025-03-27",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "b",
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form8-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2025-03-27",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "b",
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form8-k.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "dei_AmendmentDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentDescription",
     "presentation": [
      "http://co-dx.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/2024",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://co-dx.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/2024",
     "localname": "AnnualInformationForm",
     "presentation": [
      "http://co-dx.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": [
      "r14"
     ]
    },
    "dei_AuditedAnnualFinancialStatements": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditedAnnualFinancialStatements",
     "presentation": [
      "http://co-dx.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": [
      "r14"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CityAreaCode",
     "presentation": [
      "http://co-dx.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CountryRegion": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CountryRegion",
     "presentation": [
      "http://co-dx.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/2024",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://co-dx.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": []
    },
    "dei_DocumentAccountingStandard": {
     "xbrltype": "accountingStandardItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentAccountingStandard",
     "presentation": [
      "http://co-dx.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": [
      "r13"
     ]
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://co-dx.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": [
      "r11",
      "r13",
      "r14"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://co-dx.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/2024",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://co-dx.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/2024",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://co-dx.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/2024",
     "localname": "DocumentPeriodStartDate",
     "presentation": [
      "http://co-dx.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/2024",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://co-dx.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": [
      "r12"
     ]
    },
    "dei_DocumentRegistrationStatement": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentRegistrationStatement",
     "presentation": [
      "http://co-dx.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": [
      "r0"
     ]
    },
    "dei_DocumentShellCompanyEventDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentShellCompanyEventDate",
     "presentation": [
      "http://co-dx.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Event Date",
        "documentation": "Date of event requiring a shell company report."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "dei_DocumentShellCompanyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentShellCompanyReport",
     "presentation": [
      "http://co-dx.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": [
      "r13"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://co-dx.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": [
      "r15"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentType",
     "presentation": [
      "http://co-dx.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/2024",
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "presentation": [
      "http://co-dx.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Documents Incorporated by Reference [Text Block]",
        "documentation": "Documents incorporated by reference."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://co-dx.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/2024",
     "localname": "EntityAddressAddressLine2",
     "presentation": [
      "http://co-dx.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/2024",
     "localname": "EntityAddressAddressLine3",
     "presentation": [
      "http://co-dx.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/2024",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://co-dx.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/2024",
     "localname": "EntityAddressCountry",
     "presentation": [
      "http://co-dx.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/2024",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://co-dx.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/2024",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://co-dx.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/2024",
     "localname": "EntityBankruptcyProceedingsReportingCurrent",
     "presentation": [
      "http://co-dx.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": [
      "r6"
     ]
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://co-dx.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": [
      "r2"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://co-dx.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/2024",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://co-dx.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/2024",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://co-dx.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_EntityExTransitionPeriod": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityExTransitionPeriod",
     "presentation": [
      "http://co-dx.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": [
      "r19"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://co-dx.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/2024",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://co-dx.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": [
      "r2"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://co-dx.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/2024",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://co-dx.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": [
      "r16"
     ]
    },
    "dei_EntityPrimarySicNumber": {
     "xbrltype": "sicNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityPrimarySicNumber",
     "presentation": [
      "http://co-dx.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Primary SIC Number",
        "documentation": "Primary Standard Industrial Classification (SIC) Number for the Entity."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://co-dx.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/2024",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://co-dx.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": [
      "r2"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://co-dx.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": [
      "r2"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://co-dx.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://co-dx.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": [
      "r2"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://co-dx.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/2024",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://co-dx.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": [
      "r17"
     ]
    },
    "dei_Extension": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Extension",
     "presentation": [
      "http://co-dx.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Extension",
        "documentation": "Extension number for local phone number."
       }
      }
     },
     "auth_ref": []
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://co-dx.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "dei_NoTradingSymbolFlag": {
     "xbrltype": "trueItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "NoTradingSymbolFlag",
     "presentation": [
      "http://co-dx.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": []
    },
    "dei_OtherReportingStandardItemNumber": {
     "xbrltype": "otherReportingStandardItemNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "OtherReportingStandardItemNumber",
     "presentation": [
      "http://co-dx.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": [
      "r13"
     ]
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PreCommencementIssuerTenderOffer",
     "presentation": [
      "http://co-dx.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": [
      "r7"
     ]
    },
    "dei_PreCommencementTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PreCommencementTenderOffer",
     "presentation": [
      "http://co-dx.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": [
      "r9"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12bTitle",
     "presentation": [
      "http://co-dx.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "dei_Security12gTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12gTitle",
     "presentation": [
      "http://co-dx.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(g) Security",
        "documentation": "Title of a 12(g) registered security."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://co-dx.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "dei_SecurityReportingObligation": {
     "xbrltype": "securityReportingObligationItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityReportingObligation",
     "presentation": [
      "http://co-dx.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": [
      "r10"
     ]
    },
    "dei_SolicitingMaterial": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SolicitingMaterial",
     "presentation": [
      "http://co-dx.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": [
      "r8"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "TradingSymbol",
     "presentation": [
      "http://co-dx.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "dei_WrittenCommunications": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "WrittenCommunications",
     "presentation": [
      "http://co-dx.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": [
      "r18"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12"
  },
  "r1": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r2": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r3": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r4": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r5": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "g"
  },
  "r6": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12, 13, 15d"
  },
  "r7": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r8": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14a",
   "Subsection": "12"
  },
  "r9": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r10": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "15",
   "Subsection": "d"
  },
  "r11": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r12": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r13": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r14": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r15": {
   "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"
  },
  "r16": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r17": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r18": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "425"
  },
  "r19": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "7A",
   "Section": "B",
   "Subsection": "2"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>15
<FILENAME>0001641172-25-000922-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001641172-25-000922-xbrl.zip
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
MSK#K5Y-.F[MV-?SB4#ZZ'3ODEEEATFDD7BP =Z1>Q4&UIDI5-3/3$< :J5?
M(LG+2&P0]MR& R??T,V,D6F;GN^*-[6G7O-2ITJM@1V,6:&> J>@T:*:MM!!
MDH?S=\,]+EX2C:0TP-JT'#%7.&VL@3O5 JS5%K7,ONA8Q2&T55IK;5C?E;6"
MJC,^=KENREY8<4!'#H#SM_@@SW:)0M5&@U:W4E"45PQ4U0K5%L<D9]Z5>$9)
ME;/2ILLCZ320+JT&MAZ\6>[5:F!T@>&UYCL%]RYUU4UX]@*]W[[KC"*^%>\E
MSR^QCK0*N( @<A<KV-]"\>H1G-=&I0X"[KFR=AOM#\]JB+T2Y?&R('XG0^G?
MN"O\XO<(<)=[_BX)AF_/4VASTY=GI0F04L<RXUU:WEOTH.#7O[E!!LRT"=C<
MT]<BIAZ%:C8JM+'8N+\W%XI6-6S.S,_,W*](LR,+E/<QDLXPO;'CB:8QS+[L
MYNU(37PY4E9(>(1O95PC+;8C];8!%8%D+A^)QD\N7MZ!!-3_"LR0GC-3(=)&
M8R-;[]=!B0^$;>XR1)5":&/NM,J6!#+B_M QDF^C?4VO;3E2L 5E\?4Z;\$*
MQRD!C<K>W<6=1#M66>UYI%N5:JT6K2\.87T[L0Y::]5PT,"^>7?]'*J(8,AF
MB) /Y:C3U"T.M8&:B=:U-<J#TA]Q &=<42JT5EM#>>_)QU_YWK*(:%B&<0]V
M#^C(HQZW>3_GG=2U!E7K;[<'%6SR1J-!ZXM>P@YC4<\OA@U[(2^Y3]!T>VH/
M&6^=1'%55UNTLC@(9^W>R2</8^9Q@*'\*FT^71#[% [V%1^='1^2Y,LL!2:S
M!4W6W,'.D($_C]X>V,LDL-UD),Y##U'6%.&@=N)Q/7##E[#@Y4X?-66>U4*U
MH=#&XC2:MZ,6<?Z-MF@U9CM!LX87N&RT41CVV .]UM,9KY)5M['U#'#IBTVW
MSDIEF5L#!CT*+"9ZL0&38QS4J-; X<^9->(R; ME"YJMB@<9"1I+122FN.*L
MS),L[CM;T&0C&7;*/%.7LTM-*_"Y\4Q4K?.2U".EO-C9M;VHW;H@K!\XW.Y!
M^5W,"<#YP; (SD=9'!Q\.#9O[-BLC2JU0E6,H]0RTQ5;;6%]*JVUGEN_<1C_
ME>+XK]IA_%?\Y6'\UV'\UV'\5SS^BRR=_D7V/?1JJUO^VFY?BRU>7EV6Q"_?
MN^W;'S?[GW(6\=9+5<LNL7G#=<?634NVB14+3E\$Q3&T \*%,.//P$/#MGMZ
M?G?6/D$4DZWIT+7P>9B31F:':1WFI*V-JL.<M(S/25M5"["/$6./)/0??<Y"
M_'<_P*_,Q*\#_(Y*R_;1Y'*T09?+#EZ<LWZ'R]X*(_;9R'*T=B=+^K3:H(ME
MM\=HK<[^]%H(5G3?[RM:M;(9?K_1QL6G'V';PK&TK??58W2T9I-1ZJ=KS?:B
M/=0_3ZN)^LP,7U2(!(K[AN;>,Y\ZR=;N(=J%^EJ[?VAOZDN\3K;48QXW1 4-
MMSTI*</Q$6DCJ48U5:.MRH;R*#V FF 9UFESG4+VG1^W0PG[:M<Z0P50KZN$
M/;4!F&&E3WLV:O;43C-?'Z12K5:CU<J3O8>ON$9*Q2G!@(,G^7;M&JEM)4EG
MGX6<9_8GA\SIDLQI_2.Y&HN)/"?D@GG^(9&ZA43JT\G!73+("FY-[9#%ZW_Z
M<'IU]L=G_.';W?>+S_\/4$L#!!0    ( *^ >UI+E09+YA(  !F4   +
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
M *^ >UKXPV_7* ,  -H+   1              "  0    !C;V1X+3(P,C4P
M,S(W+GAS9%!+ 0(4 Q0    ( *^ >UHAR\EF_@H  ("&   5
M  "  5<#  !C;V1X+3(P,C4P,S(W7VQA8BYX;6Q02P$"% ,4    " "O@'M:
M^-<C:-L'  #J7@  %0              @ &(#@  8V]D>"TR,#(U,#,R-U]P
M<F4N>&UL4$L! A0#%     @ KX![6BD&B]1U'P  H#\!  H
M ( !EA8  &5X.3DM,2YH=&U02P$"% ,4    " "O@'M:2Y4&2^82   9E
M"P              @ $S-@  9F]R;3@M:RYH=&U02P4&      4 !0 V 0
&0DD

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>form8-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:dei="http://xbrl.sec.gov/dei/2024"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="codx-20250327.xsd" xlink:type="simple"/>
    <context id="AsOf2025-03-27">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
        </entity>
        <period>
            <startDate>2025-03-27</startDate>
            <endDate>2025-03-27</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>
    <dei:AmendmentFlag contextRef="AsOf2025-03-27" id="Fact000003">false</dei:AmendmentFlag>
    <dei:EntityCentralIndexKey contextRef="AsOf2025-03-27" id="Fact000004">0001692415</dei:EntityCentralIndexKey>
    <dei:DocumentType contextRef="AsOf2025-03-27" id="Fact000009">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate contextRef="AsOf2025-03-27" id="Fact000010">2025-03-27</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName contextRef="AsOf2025-03-27" id="Fact000011">CO-DIAGNOSTICS, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="AsOf2025-03-27" id="Fact000012">UT</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber contextRef="AsOf2025-03-27" id="Fact000013">1-38148</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber contextRef="AsOf2025-03-27" id="Fact000014">46-2609363</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="AsOf2025-03-27" id="Fact000015">2401 S. Foothill Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2 contextRef="AsOf2025-03-27" id="Fact000016">Suite D</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown contextRef="AsOf2025-03-27" id="Fact000017">Salt Lake City</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="AsOf2025-03-27" id="Fact000018">UT</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="AsOf2025-03-27" id="Fact000019">84109</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="AsOf2025-03-27" id="Fact000020">(801)</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="AsOf2025-03-27" id="Fact000021">438-1036</dei:LocalPhoneNumber>
    <dei:WrittenCommunications contextRef="AsOf2025-03-27" id="Fact000022">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial contextRef="AsOf2025-03-27" id="Fact000023">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer contextRef="AsOf2025-03-27" id="Fact000024">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer contextRef="AsOf2025-03-27" id="Fact000025">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle contextRef="AsOf2025-03-27" id="Fact000026">Common     Stock, par value $0.001 per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="AsOf2025-03-27" id="Fact000027">CODX</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="AsOf2025-03-27" id="Fact000028">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany contextRef="AsOf2025-03-27" id="Fact000029">false</dei:EntityEmergingGrowthCompany>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
