<SEC-DOCUMENT>0001200375-24-000013.txt : 20240502
<SEC-HEADER>0001200375-24-000013.hdr.sgml : 20240502
<ACCEPTANCE-DATETIME>20240502160726
ACCESSION NUMBER:		0001200375-24-000013
CONFORMED SUBMISSION TYPE:	8-K
PUBLIC DOCUMENT COUNT:		15
CONFORMED PERIOD OF REPORT:	20240502
ITEM INFORMATION:		Results of Operations and Financial Condition
ITEM INFORMATION:		Financial Statements and Exhibits
FILED AS OF DATE:		20240502
DATE AS OF CHANGE:		20240502

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			CODEXIS, INC.
		CENTRAL INDEX KEY:			0001200375
		STANDARD INDUSTRIAL CLASSIFICATION:	INDUSTRIAL ORGANIC CHEMICALS [2860]
		ORGANIZATION NAME:           	08 Industrial Applications and Services
		IRS NUMBER:				710872999
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

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

	BUSINESS ADDRESS:	
		STREET 1:		200 PENOBSCOT DRIVE
		CITY:			REDWOOD CITY
		STATE:			CA
		ZIP:			94063
		BUSINESS PHONE:		650-421-8100

	MAIL ADDRESS:	
		STREET 1:		200 PENOBSCOT DRIVE
		CITY:			REDWOOD CITY
		STATE:			CA
		ZIP:			94063

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	CODEXIS INC
		DATE OF NAME CHANGE:	20021022
</SEC-HEADER>
<DOCUMENT>
<TYPE>8-K
<SEQUENCE>1
<FILENAME>cdxs-20240502.htm
<DESCRIPTION>8-K
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2024 Workiva-->
<!--r:e37398cf-c95d-45e8-8cf3-fefaa3b3123d,g:12f9ea56-6de1-49c6-b3eb-3f6f3c6a241c,d:5ca57a5dfe6641daa88bcf50797663ca-->
<html xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns="http://www.w3.org/1999/xhtml" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xml:lang="en-US"><head><meta http-equiv="Content-Type" content="text/html"/>


<title>cdxs-20240502</title></head><body><div style="display:none"><ix:header><ix:hidden><ix:nonNumeric contextRef="c-1" name="dei:EntityCentralIndexKey" id="f-22">0001200375</ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="dei:AmendmentFlag" id="f-23">false</ix:nonNumeric></ix:hidden><ix:references xml:lang="en-US"><link:schemaRef xlink:type="simple" xlink:href="cdxs-20240502.xsd"/></ix:references><ix:resources><xbrli:context id="c-1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001200375</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2024-05-02</xbrli:startDate><xbrli:endDate>2024-05-02</xbrli:endDate></xbrli:period></xbrli:context></ix:resources></ix:header></div><div id="i5ca57a5dfe6641daa88bcf50797663ca_1"></div><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:2pt;text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:18pt;font-weight:700;line-height:174%">UNITED STATES</span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:18pt;font-weight:700;line-height:174%">SECURITIES AND EXCHANGE COMMISSION </span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:174%">Washington, D.C. 20549 </span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:3pt;font-weight:400;line-height:120%">&#160;</span><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">_________________________________</span></div><div style="margin-top:3pt;text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:18pt;font-weight:700;line-height:120%">FORM <ix:nonNumeric contextRef="c-1" name="dei:DocumentType" id="f-1">8-K</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">_________________________________</span></div><div><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:3pt;font-weight:400;line-height:174%">&#160;</span></div><div style="margin-top:3pt;text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:13pt;font-weight:700;line-height:174%">CURRENT REPORT </span></div><div style="margin-top:6pt;text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:174%">Pursuant to Section 13 OR 15(d) of The Securities Exchange Act of 1934 </span></div><div style="margin-top:6pt;text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:174%">Date of Report (Date of earliest event reported): <ix:nonNumeric contextRef="c-1" name="dei:DocumentPeriodEndDate" format="ixt:date-monthname-day-year-en" id="f-2">May&#160;2, 2024</ix:nonNumeric></span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">_________________________________</span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:3pt;font-weight:400;line-height:120%">&#160;</span><ix:nonNumeric contextRef="c-1" name="dei:EntityRegistrantName" id="f-3"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:16pt;font-weight:700;line-height:120%">Codexis, Inc</span><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:24pt;font-weight:700;line-height:120%">.</span></ix:nonNumeric></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:174%">(Exact name of registrant as specified in its charter) </span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">_________________________________</span></div><div><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:3pt;font-weight:400;line-height:174%">&#160;</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.849%"><tr><td style="width:1.0%"/><td style="width:31.681%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.401%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:31.681%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.852%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:31.685%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityIncorporationStateCountryCode" format="ixt-sec:stateprovnameen" id="f-4">Delaware</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityFileNumber" id="f-5">001-34705</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityTaxIdentificationNumber" id="f-6">71-0872999</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:174%">(State or other jurisdiction</span></div><div style="margin-bottom:0.5pt;text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:174%">of incorporation)</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:174%">(Commission</span></div><div style="margin-bottom:0.5pt;text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:174%">File Number)</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:174%">(I.R.S. Employer</span></div><div style="margin-bottom:0.5pt;text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:174%">Identification No.)</span></div></td></tr></table></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:EntityAddressAddressLine1" id="f-7">200 Penobscot Drive</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:174%"><ix:nonNumeric contextRef="c-1" name="dei:EntityAddressCityOrTown" id="f-8">Redwood City</ix:nonNumeric>, <ix:nonNumeric contextRef="c-1" name="dei:EntityAddressStateOrProvince" id="f-9">CA</ix:nonNumeric> <ix:nonNumeric contextRef="c-1" name="dei:EntityAddressPostalZipCode" id="f-10">94063</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:174%">(Address of Principal Executive Offices) (Zip Code) </span></div><div style="margin-top:9pt;text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:120%"> Registrant's telephone number, including area code  </span><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(<ix:nonNumeric contextRef="c-1" name="dei:CityAreaCode" id="f-11">650</ix:nonNumeric>) <ix:nonNumeric contextRef="c-1" name="dei:LocalPhoneNumber" id="f-12">421-8100</ix:nonNumeric> </span></div><div style="margin-top:6pt;text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:174%">Not Applicable </span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:174%">(Former name or former address, if changed since last report) </span></div><div style="text-align:center"><span><br/></span></div><div><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:3pt;font-weight:400;line-height:174%">&#160;</span><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:174%">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><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:174%;text-decoration:underline">see</span><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:174%"> General Instruction A.2. below): </span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:93.693%"><tr><td style="width:1.0%"/><td style="width:2.105%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:95.695%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:WrittenCommunications" format="ixt-sec:boolballotbox" id="f-13">&#9744;</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Written communication pursuant to Rule 425 under the Securities Act (17 CFR 230.425)</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:SolicitingMaterial" format="ixt-sec:boolballotbox" id="f-14">&#9744;</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Soliciting material pursuant to Rule 14a-12 under the Exchange Act (17 CFR 240.14a-12)</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:PreCommencementTenderOffer" format="ixt-sec:boolballotbox" id="f-15">&#9744;</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act (17 CFR 240.14d-2(b))</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:PreCommencementIssuerTenderOffer" format="ixt-sec:boolballotbox" id="f-16">&#9744;</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act (17 CFR 240.13e-4(c))</span></td></tr></table></div><div style="margin-bottom:12pt;margin-top:4pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Securities registered pursuant to Section 12(b) of the Act:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:32.186%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:25.640%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:38.874%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="border-left:2pt solid #000;border-top:2pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Title of Each Class</span></td><td colspan="3" style="border-left:2pt solid #000;border-top:2pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Trading</span></td><td colspan="3" style="border-left:2pt solid #000;border-right:2pt solid #000;border-top:2pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Name of Each Exchange on Which Registered</span></td></tr><tr><td colspan="3" style="border-left:2pt solid #000;padding:0 1pt"/><td colspan="3" style="border-left:2pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Symbols(s)</span></td><td colspan="3" style="border-left:2pt solid #000;border-right:2pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="border-bottom:2pt solid #000;border-left:2pt solid #000;border-top:2pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:Security12bTitle" id="f-17">Common Stock, par value $0.0001 per share</ix:nonNumeric></span></td><td colspan="3" style="border-bottom:2pt solid #000;border-left:2pt solid #000;border-top:2pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:TradingSymbol" id="f-18">CDXS</ix:nonNumeric></span></td><td colspan="3" style="border-bottom:2pt solid #000;border-left:2pt solid #000;border-right:2pt solid #000;border-top:2pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:SecurityExchangeName" format="ixt-sec:exchnameen" id="f-19">The Nasdaq Global Select Market</ix:nonNumeric></span></td></tr></table></div><div><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:4pt;font-weight:400;line-height:100%">&#160;</span><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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></div><div><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Emerging growth company  </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityEmergingGrowthCompany" format="ixt-sec:boolballotbox" id="f-20">&#9744;</ix:nonNumeric></span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:96.047%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.653%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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 </span><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Act.</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;<ix:nonNumeric contextRef="c-1" name="dei:EntityEmergingGrowthCompany" format="ixt-sec:boolballotbox" id="f-21">&#9744;</ix:nonNumeric></span></td></tr></table></div><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span><br/></span></div></div></div><div id="i5ca57a5dfe6641daa88bcf50797663ca_7"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="-sec-extract:summary;margin-bottom:8pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:93.567%"><tr><td style="width:1.0%"/><td style="width:10.931%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:86.869%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Item&#160;2.02</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Results of Operations and Financial Condition.</span></td></tr></table></div><div style="margin-bottom:8pt;padding-left:18pt"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On <ix:nonNumeric contextRef="c-1" name="dei:DocumentPeriodEndDate" format="ixt:date-monthname-day-year-en" id="f-24">May&#160;2, 2024</ix:nonNumeric>, Codexis, Inc. (the &#8220;Company&#8221;) announced its financial results for the quarter ended March&#160;31, 2024. The full text of the press release issued in connection with the announcement is furnished as Exhibit 99.1 to this Current Report on Form 8-K. </span></div><div style="padding-left:18pt"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The information contained in Item 2.02 of this Current Report (including Exhibit 99.1 attached hereto) shall not be deemed &#8220;filed&#8221; for purposes of Section 18 of the Securities Exchange Act of 1934, as amended, or otherwise subject to the liabilities of that section, nor shall it be deemed incorporated by reference under the Securities Act of 1933, as amended, except as expressly set forth by specific reference in such a filing.</span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:93.567%"><tr><td style="width:1.0%"/><td style="width:10.931%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:86.869%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Item&#160;9.01</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Financial Statement and Exhibits.</span></td></tr></table></div><div style="text-indent:27pt"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(d) </span><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Exhibits.</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.953%"><tr><td style="width:1.0%"/><td style="width:9.049%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.337%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:86.214%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Exhibit No.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Exhibit Description</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">99.1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:justify"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a991earningsreleaseq12024.htm">Press release dated May 2, 2024 relating to the financial results for the quarter ended March 31, 2024</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">104</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cover Page Interactive Data File (the cover page XBRL tags are embedded within the inline XBRL document)</span></td></tr></table></div><div style="margin-bottom:8pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span><br/></span></div></div></div><div id="i5ca57a5dfe6641daa88bcf50797663ca_10"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:8pt;text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SIGNATURE </span></div><div style="margin-bottom:8pt"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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></div><div style="margin-bottom:8pt"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Date: May&#160;2, 2024 </span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.321%"><tr><td style="width:1.0%"/><td style="width:47.519%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.722%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:42.459%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="6" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:8pt"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CODEXIS, INC.</span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:8pt"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">By:</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Sriram Ryali</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Name:</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sriram Ryali</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Title:</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief&#160;Financial Officer</span></td></tr></table></div><div style="margin-bottom:8pt;padding-left:36pt;padding-right:36pt;text-align:center"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span><br/></span></div></div></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-99.1
<SEQUENCE>2
<FILENAME>a991earningsreleaseq12024.htm
<DESCRIPTION>EX-99.1
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="i6f9af318b76f49388cc58a7af4c26df4_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Exhibit 99.1</font></div><div><font><br></font></div><div><img alt="image.jpg" src="image.jpg" style="height:87px;margin-bottom:5pt;vertical-align:text-bottom;width:318px"></div><div style="text-align:center"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:12pt;font-weight:700;line-height:115%">Codexis Reports First Quarter 2024 Financial Results</font></div><div><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-style:italic;font-weight:400;line-height:120%">Q1 Total Revenue Up 32% Year-over-year, Including Product Revenue Up 14%&#59; Company Reiterates 2024 Financial Guidance</font></div><div><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-style:italic;font-weight:400;line-height:120%">First Substantial Order for dsRNA Ligase Received from Large Pharma Customer</font></div><div><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-style:italic;font-weight:400;line-height:120%">Company is in Final Stages of Enzymatically Synthesizing a Full-Length Oligonucleotide with ECO Synthesis&#8482; Manufacturing Platform and will Provide Update at TIDES USA Meeting</font></div><div style="text-align:center"><font><br></font></div><div><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:700;line-height:112%">REDWOOD CITY, Calif., May&#160;2, 2024</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%"> -- Codexis, Inc. (NASDAQ&#58; CDXS), a leading enzyme engineering company, today announced financial results for the first quarter ended March&#160;31, 2024, and provided a business update.</font></div><div><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8220;We are off to a strong start this year with our first quarter financial results, and we are on track to deliver full year product revenue growth of at least ten percent. We have also added flexibility to our projected cash runway through our debt financing deal with Innovatus. In addition to these positive financial indicators, we recently secured our first large pharma order for an engineered double-stranded RNA ligase. Together, these transactions have further strengthened our path to positive cash flow,&#8221; said Stephen Dilly, MBBS, PhD, Chief Executive Officer of Codexis. &#8220;We are in the final stages of enzymatically synthesizing a full-length oligonucleotide and expect to achieve this historic result by TIDES USA later this month. We are already receiving significant meeting interest from potential customers and partners to discuss enzymatic synthesis, and our dsRNA ligase is in early access customer testing with a host of other prospective customers. Finally, we remain on track to engage multiple early access customers for the ECO Synthesis&#8482; platform in the second half of this year.&#8221; </font></div><div><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:700;line-height:112%">First Quarter and Recent Business Highlights </font></div><div style="text-align:justify"><font><br></font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">In March 2024, the Company received a low-to-mid-single-digit million-dollar order for its double-stranded RNA (dsRNA) ligase from a top tier pharmaceutical company. This significant transaction reinforces the increasing need from customers to enzymatically join separate RNA fragments via a ligation step.</font></div><div style="text-align:justify"><font><br></font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">In February 2024, Codexis announced it had entered into a loan facility agreement with an affiliate of Innovatus Capital Partners, LLC, for up to $40 million. The non-dilutive capital reinforces the strength of Codexis&#8217; cash position, provides additional flexibility on the Company&#8217;s projected cash runway and enables the accelerated development of certain elements of the ECO Synthesis&#8482; manufacturing platform, including the planned build-out of an ECO Synthesis&#8482; Innovation Lab.</font></div><div style="text-align:justify"><font><br></font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">In February 2024, the Company announced it had entered into an exclusive, global license agreement with Roche Sequencing Solutions, Inc. for Codexis&#8217; newly engineered dsDNA ligase. Under the terms of the agreement, Codexis is eligible to receive a total of mid-single digit million dollars in upfront and technical milestone payments. </font></div><div style="text-align:justify"><font><br></font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">In April 2024, Codexis completed an asset purchase agreement to sell its Homocystinuria (HCU) and Maple Syrup Urine Disease (MSUD) compounds. Codexis is eligible to receive development milestone payments and future royalties on net sales. </font></div><div><font><br></font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">Three leading experts in oligonucleotide research, development and commercialization have joined Codexis&#8217; Strategic Advisory Board (SAB) since the first of the year. Masad Damha, PhD, Distinguished James McGill Professor at McGill University&#59; Jim Lalonde, PhD, biotechnology consultant for start-up </font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Page &#124; 1</font></div></div></div><hr style="page-break-after:always"><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="padding-left:36pt;text-align:justify"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">companies in enzyme engineering and former Senior Vice President of Research and Development at Codexis&#59; and Carole Cobb, MBA, biotechnology consultant and former Chief Operating Officer at GreenLight Biosciences, will collaborate with inaugural external member John Maraganore, PhD, Founder and Former Chief Executive Officer at Alnylam Pharmaceuticals. The SAB held its first meeting at the end of April.</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:700;line-height:112%">Upcoming Milestones</font></div><div style="text-align:justify"><font><br></font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">Codexis is finalizing the enzymatic synthesis of a full-length oligonucleotide with its ECO Synthesis&#8482; manufacturing platform, which it expects to complete and present at the TIDES USA annual meeting being held May 14-17, 2024, in Boston. </font></div><div><font><br></font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">The Company continues to build upon its capability in dsRNA ligation with the launch of its ligase screening service at the TIDES USA meeting and the anticipated launch of its ligase kits in the second half of 2024. As part of Codexis&#8217; initial market entry into the RNAi therapeutics space, the dsRNA ligase program is designed to augment and improve traditional phosphoramidite chemistry by stitching together small, manufactured strands of RNA. In addition to enabling the more efficient use of existing chemical synthesis with the potential to reduce overall costs, the dsRNA ligase provides an opportunity to educate potential customers on the benefits of incorporating enzymatic solutions as a complement to their current manufacturing processes.</font></div><div><font><br></font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">Codexis expects to substantially complete the build-out of its ECO Synthesis&#8482; Innovation Lab by the end of 2024. In addition to providing a strong basis for partnering discussions and early access customer shared development programs, this facility will enable Codexis to demonstrate its RNA ligation capabilities and test new nucleotide modifications and conjugation modalities&#59; develop tech transfer protocols and ensure flexibility with a small-scale footprint&#59; and allow the Company to model scalability into full-scale GMP manufacturing.</font></div><div><font><br></font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">Early access customer testing of the full ECO Synthesis&#8482; manufacturing platform remains on track to begin in the second half of 2024. Customer feedback will provide valuable insights and the Company expects it to lead to potential commercial licensing opportunities in the second half of 2025, ahead of an anticipated full commercial launch of the platform in 2026. </font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:700;line-height:112%">First Quarter 2024 Financial Highlights</font></div><div style="text-align:justify"><font><br></font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">Total revenues increased by 32% to $17.1 million for first quarter 2024 compared to $13.0 million in first quarter 2023. </font></div><div style="text-align:justify"><font><br></font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">Product revenues increased by 14% to $9.6 million for first quarter 2024 compared to $8.4 million in first quarter 2023. </font></div><div style="text-align:justify"><font><br></font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">R&#38;D revenues for first quarter 2024 were $7.5 million compared to $4.6 million in first quarter 2023&#59; the increase was primarily due to the recognition of $6.0 million related to the agreement with Roche for an exclusive, global license for the Company&#8217;s newly engineered double-stranded DNA ligase. First quarter 2023 R&#38;D revenues included $3.5 million related to Biotherapeutics programs that the Company previously announced it was discontinuing.</font></div><div style="text-align:justify"><font><br></font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">Product gross margin was 49% for first quarter 2024 compared to 46% in first quarter 2023. The improvement in gross margin was largely due to variability in the product mix. </font></div><div style="text-align:justify"><font><br></font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">R&#38;D expenses for first quarter 2024 were $11.2 million compared to $16.7 million in first quarter 2023&#59; the decrease was primarily driven by a decrease in costs associated with lower headcount, a decrease in outside services related to Chemistry, Manufacturing and Controls and regulatory expenses, a decrease in lease costs due to the assignment of the Company&#8217;s San Carlos facility lease during the fourth quarter of 2023 and lower lab supply costs.</font><font style="background-color:#ffffff;color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%"> </font></div><div style="text-align:justify"><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Page &#124; 2</font></div></div></div><hr style="page-break-after:always"><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">Selling, General &#38; Administrative expenses for first quarter 2024 were $12.9 million compared to $15.4 million in first quarter 2023&#59; the decrease was primarily due to a decrease in costs associated with lower headcount, a decrease in consulting and outside services and lower marketing and advertising costs, partially offset by higher non-cash stock-based compensation expense.</font></div><div style="text-align:justify"><font><br></font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">The net loss for first quarter 2024 was $11.5 million, or $0.16 per share, compared to a net loss of $22.6 million, or $0.34 per share, for first quarter 2023.</font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%"> </font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">As of March 31, 2024, the Company had $85.5 million in cash, cash equivalents and investments. Codexis expects its existing cash, cash equivalents and investments will be sufficient to fund its planned operations through positive cash flow, expected around the end of 2026.</font></div><div><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:700;line-height:112%">2024 Financial Guidance</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">Codexis reiterated its 2024 financial guidance issued on February 28, 2024, as follows&#58;</font></div><div style="text-align:justify"><font><br></font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">Product revenues are expected to be in the range of $38 million to $42 million, excluding revenue related to PAXLOVID&#8482;.</font></div><div style="text-align:justify"><font><br></font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">R&#38;D revenues are expected to be in the range of $18 million to $22 million.</font></div><div style="text-align:justify"><font><br></font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">Gross margin on product revenue is expected to be in the range of 58% to 63%, excluding revenue related to PAXLOVID&#8482;.</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:700;line-height:112%">Conference Call and Webcast</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">Codexis will hold a conference call and webcast today beginning at 4&#58;30 p.m. ET. A live webcast and slide presentation to accompany the conference call will be available on the Investors section of the Company website at </font><font style="color:#4bacc6;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;text-decoration:underline">www.codexis.com&#47;investors</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">. The conference call dial-in numbers are 877-705-2976 for domestic callers and 201-689-8798 for international callers.</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">A telephone recording of the call will be available for 48 hours beginning approximately two hours after the completion of the call by dialing 877-660-6853 for domestic callers or 201-612-7415 for international callers. Please use the passcode 13726635 to access the recording. A webcast replay will be available on the Investors section of the Company website for 90 days, beginning approximately two hours after the completion of the call.</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:700;line-height:112%">About Codexis</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="background-color:#ffffff;color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">Codexis is a leading enzyme engineering company leveraging its proprietary CodeEvolver&#174; technology platform to discover, develop and enhance novel, high-performance enzymes and other classes of proteins. Codexis enzymes solve for real-world challenges associated with small molecule pharmaceuticals manufacturing and nucleic acid synthesis. The Company is currently developing its proprietary ECO Synthesis&#8482; manufacturing platform to enable the scaled manufacture of RNAi therapeutics through an enzymatic route. Codexis&#8217; unique enzymes can drive improvements such as higher yields, reduced energy usage and waste generation, improved efficiency in manufacturing and greater sensitivity in genomic and diagnostic applications. For more information, visit</font><font style="color:#4bacc6;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;text-decoration:underline"> https&#58;&#47;&#47;www.codexis.com</font><font style="background-color:#ffffff;color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">.</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:700;line-height:112%">Forward-Looking Statements</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">This press release contains forward-looking statements within the meaning of Section 27A of the Securities Act of 1933, as amended, and Section 21E of the Securities Exchange Act of 1934, as amended. In some cases, you can identify forward-looking statements by terminology such as &#8220;aim,&#8221; &#8220;anticipate,&#8221; &#8220;assume,&#8221; &#8220;believe,&#8221; &#8220;contemplate,&#8221; &#8220;continue,&#8221; &#8220;could,&#8221; &#8220;design,&#8221; &#8220;due,&#8221; &#8220;estimate,&#8221; &#8220;expect,&#8221; &#8220;goal,&#8221; &#8220;intend,&#8221; &#8220;may,&#8221; &#8220;objective,&#8221; &#8220;plan,&#8221; &#8220;positioned,&#8221; &#8220;potential,&#8221; &#8220;predict,&#8221; &#8220;seek,&#8221; &#8220;should,&#8221; &#8220;suggest,&#8221; &#8220;target,&#8221; &#8220;on track,&#8221; &#8220;will,&#8221; &#8220;would&#8221; and other similar expressions that are predictions of or indicate future events and future trends, or the negative of these terms or other comparable terminology. To the extent that statements contained in this press release are not descriptions of historical facts, they are forward-looking statements reflecting the current beliefs and </font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Page &#124; 3</font></div></div></div><hr style="page-break-after:always"><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:justify"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">expectations of management, including but not limited to statements regarding anticipated milestones, including product launches, technical milestones, data releases and public announcements related thereto&#59; whether Codexis will be able to, and the timing of it entering pre-commercial testing of its ECO Synthesis&#8482; manufacturing platform with multiple customers in 2024, entering into initial commercial licensing opportunities in 2025 and the subsequent expected full commercial launch in 2026&#59; whether Codexis will be able to, and the timing of it substantially completing, the build-out of its planned ECO Synthesis&#8482; Innovation Lab&#59; Codexis&#8217; expectations regarding 2024 product revenues, R&#38;D revenues and gross margin on product revenue, as well as its ability to fund planned operations through the end of 2026&#59; Codexis&#8217; ability to achieve positive cash flow around the end of 2026&#59; Codexis&#8217; expectation that its dsRNA ligase kits will launch in the second half of 2024 and the potential of such dsRNA ligase to, among other things, augment and improve traditional phosphoramidite chemistry, enable more efficient use of existing manufacturing infrastructure and reduce overall costs&#59; potential receipt by Codexis of certain milestone payments pursuant to its recent global license agreement with Roche&#59; its asset purchase agreement for Codexis&#8217; HCU and MSUD compounds&#59; the anticipated use of proceeds under Codexis&#8217; new loan facility with Innovatus&#59; the potential of the ECO Synthesis&#8482; manufacturing platform, including its ability to be broadly utilized and to enable commercial-scale manufacture of RNAi therapeutics through an enzymatic route&#59; and expectations regarding future demand for dsRNA. You should not place undue reliance on these forward-looking statements because they involve known and unknown risks, uncertainties and other factors that are, in some cases, beyond Codexis&#8217; control and that could materially affect actual results. Factors that could materially affect actual results include, among others&#58; Codexis&#8217; dependence on its licensees and collaborators&#59; if any of its collaborators terminate their development programs under their respective license agreements with Codexis&#59; Codexis may need additional capital in the future in order to expand its business&#59; if Codexis is unable to successfully develop new technology such as its ECO Synthesis&#8482; manufacturing platform and dsRNA ligase&#59; Codexis&#8217; dependence on a limited number of products and customers, and potential adverse effects to Codexis&#8217; business if its customers&#8217; products are not received well in the markets&#59; if Codexis is unable to develop and commercialize new products for its target markets&#59; if competitors and potential competitors who have greater resources and experience than Codexis develop products and technologies that make Codexis&#8217; products and technologies obsolete&#59; Codexis&#8217; ability to comply with debt covenants under its loan facility&#59; if Codexis is unable to accurately forecast financial and operational performance&#59; and market and economic conditions may negatively impact Codexis business, financial condition and share price. Additional information about factors that could materially affect actual results can be found in Codexis&#8217; Annual Report on Form 10-K filed with the Securities and Exchange Commission (SEC) on February 28, 2024 and in Codexis&#8217; Quarterly Report on Form 10-Q filed with the SEC on or about the date hereof, including under the caption &#8220;Risk Factors,&#8221; and in Codexis&#8217; other periodic reports filed with the SEC. Codexis expressly disclaims any intent or obligation to update these forward-looking statements, except as required by law. Codexis&#8217; results for the quarter ended March 31, 2024, are not necessarily indicative of our operating results for any future periods.</font></div><div><font><br></font></div><div><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:700;line-height:112%">For More Information</font></div><div><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;text-decoration:underline">Investor Contact</font></div><div><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">Carrie McKim</font></div><div><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">(336) 608-9706</font></div><div><font style="color:#4bacc6;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;text-decoration:underline">ir&#64;codexis.com</font></div><div><font><br></font></div><div><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;text-decoration:underline">Media Contact</font></div><div><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">Lauren Musto</font></div><div><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">(650) 421-8205</font></div><div><font style="color:#4bacc6;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;text-decoration:underline">media&#64;codexis.com</font></div><div><font><br></font></div><div><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Page &#124; 4</font></div></div></div><hr style="page-break-after:always"><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Codexis, Inc.</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Condensed Consolidated Statements of Operations</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In Thousands, Except Per Share Amounts)</font></div><div style="text-align:center"><font><br></font></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.368%"><tr><td style="width:1.0%"></td><td style="width:72.173%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.963%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.400%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.964%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended March 31,</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2024</font></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Revenues&#58;</font></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Product revenue</font></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,551&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,364&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development revenue</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,522&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,618&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</font></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,073&#160;</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,982&#160;</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Costs and operating expenses&#58;</font></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of product revenue</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,855&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,521&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,246&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,655&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general and administrative</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,860&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,399&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restructuring charges</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">72&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total costs and operating expenses</font></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,961&#160;</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">36,647&#160;</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss from operations</font></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,888)</font></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(23,665)</font></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest income</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">909&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,089&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other expense, net</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(516)</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(25)</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss before income taxes</font></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,495)</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(22,601)</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision for income taxes</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,505)</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(22,617)</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:9pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss per share, basic and diluted</font></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.16)</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.34)</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average common stock shares used in computing net loss per share, basic and diluted</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,854&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,931&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Codexis, Inc.</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Condensed Consolidated Statements of Comprehensive Loss</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</font></div><div style="margin-bottom:8pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In Thousands)</font></div><div style="margin-bottom:8pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:72.838%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.385%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended March 31,</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2024</font></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,505)</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(22,617)</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive loss&#58;</font></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unrealized loss on available-for-sale short-term investments, net of tax</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(16)</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Comprehensive loss</font></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,521)</font></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(22,617)</font></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Page &#124; 5</font></div></div></div><hr style="page-break-after:always"><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Codexis, Inc.</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Condensed Consolidated Balance Sheets</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</font></div><div style="margin-bottom:8pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In Thousands)</font></div><div style="margin-bottom:8pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:91.228%"><tr><td style="width:1.0%"></td><td style="width:63.964%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.047%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.441%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.048%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 31, 2024</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2023</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Assets</font></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Current assets&#58;</font></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash and cash equivalents</font></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">58,046&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">65,116&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Restricted cash, current</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">518&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">519&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Short-term investments</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,469&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Financial assets&#58;</font></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 31pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts receivable</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,240&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,036&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 31pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Contract assets</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,571&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">815&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 31pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Unbilled receivables</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,459&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,142&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total financial assets</font></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,270&#160;</font></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,993&#160;</font></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 49pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less&#58; allowances</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(65)</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(65)</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total financial assets, net</font></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,205&#160;</font></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,928&#160;</font></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Inventories</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,441&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,685&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,269&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,218&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total current assets</font></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">107,948&#160;</font></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">93,466&#160;</font></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Restricted cash</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,062&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,062&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Investment in non-marketable equity securities</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,700&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,700&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Right-of-use assets - Operating leases, net</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,364&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,137&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Property and equipment, net</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,668&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">15,487&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Goodwill</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,463&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,463&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other non-current assets</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,354&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,246&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total assets</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">149,559&#160;</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">136,561&#160;</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Liabilities and Stockholders' Equity</font></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Current liabilities&#58;</font></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts payable</font></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,465&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,947&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued compensation</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,502&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,246&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other accrued liabilities</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,374&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,735&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Current portion of lease obligations - Operating leases</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,879&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,781&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred revenue</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,860&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,121&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total current liabilities</font></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">29,080&#160;</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35,830&#160;</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred revenue, net of current portion</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">630&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">640&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Long-term lease obligations - Operating leases</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,232&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,243&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Long-term debt</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,102&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other long-term liabilities</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,248&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,233&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities</font></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">70,292&#160;</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">49,946&#160;</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:8pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stockholders' equity&#58;</font></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Common stock</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Additional paid-in capital</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">588,311&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">584,138&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accumulated other comprehensive income</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(16)</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accumulated deficit</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(509,035)</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(497,530)</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total stockholders' equity</font></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">79,267&#160;</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">86,615&#160;</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities and stockholders' equity</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">149,559&#160;</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">136,561&#160;</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td></tr></table></div><div style="margin-bottom:8pt;text-align:center"><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Page &#124; 6</font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>3
<FILENAME>cdxs-20240502.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2024 Workiva-->
<!--r:e37398cf-c95d-45e8-8cf3-fefaa3b3123d,g:12f9ea56-6de1-49c6-b3eb-3f6f3c6a241c-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:cdxs="http://www.codexis.com/20240502" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.codexis.com/20240502">
  <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://www.xbrl.org/2003/xlink-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/dei/2024" schemaLocation="https://xbrl.sec.gov/dei/2024/dei-2024.xsd"/>
  <xs:annotation>
    <xs:appinfo>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cdxs-20240502_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cdxs-20240502_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
      <link:roleType id="Cover" roleURI="http://www.codexis.com/role/Cover">
        <link:definition>0000001 - Document - Cover</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xs:appinfo>
  </xs:annotation>
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>4
<FILENAME>cdxs-20240502_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2024 Workiva-->
<!--r:e37398cf-c95d-45e8-8cf3-fefaa3b3123d,g:12f9ea56-6de1-49c6-b3eb-3f6f3c6a241c-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel"/>
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_9fb3bd51-52e5-4d5e-9b36-6d04db06f10d_terseLabel_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_label_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityIncorporationStateCountryCode" xlink:to="lab_dei_EntityIncorporationStateCountryCode" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCentralIndexKey_95e50d95-f5f9-4a4b-a23a-0dd1f2a7b52a_terseLabel_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:label id="lab_dei_EntityCentralIndexKey_label_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCentralIndexKey" xlink:to="lab_dei_EntityCentralIndexKey" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFileNumber_01da7c2f-854f-4276-914c-54d5a5623aa6_terseLabel_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity File Number</link:label>
    <link:label id="lab_dei_EntityFileNumber_label_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity File Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFileNumber" xlink:to="lab_dei_EntityFileNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressStateOrProvince_12c91456-7b8e-4df9-a861-217827ac754a_terseLabel_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:label id="lab_dei_EntityAddressStateOrProvince_label_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressStateOrProvince" xlink:to="lab_dei_EntityAddressStateOrProvince" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_SecurityExchangeName_5ead4992-0ba0-4c29-9e8f-dd0d62d24548_terseLabel_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Security Exchange Name</link:label>
    <link:label id="lab_dei_SecurityExchangeName_label_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Security Exchange Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_SecurityExchangeName" xlink:to="lab_dei_SecurityExchangeName" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_PreCommencementIssuerTenderOffer_a2771439-5f89-4726-a389-764949c7028a_terseLabel_en-US" xlink:label="lab_dei_PreCommencementIssuerTenderOffer" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Pre-commencement Issuer Tender Offer</link:label>
    <link:label id="lab_dei_PreCommencementIssuerTenderOffer_label_en-US" xlink:label="lab_dei_PreCommencementIssuerTenderOffer" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Pre-commencement Issuer Tender Offer</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_PreCommencementIssuerTenderOffer" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementIssuerTenderOffer"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_PreCommencementIssuerTenderOffer" xlink:to="lab_dei_PreCommencementIssuerTenderOffer" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressAddressLine1_b1c0d837-4794-4896-9755-b723d4957c97_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:label id="lab_dei_EntityAddressAddressLine1_label_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine1" xlink:to="lab_dei_EntityAddressAddressLine1" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressCityOrTown_0d35ecb2-3599-4880-aa96-975cce97f8d1_terseLabel_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:label id="lab_dei_EntityAddressCityOrTown_label_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressCityOrTown" xlink:to="lab_dei_EntityAddressCityOrTown" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_SolicitingMaterial_4977d8f9-9792-4c61-bc2b-651453b0489e_terseLabel_en-US" xlink:label="lab_dei_SolicitingMaterial" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Soliciting Material</link:label>
    <link:label id="lab_dei_SolicitingMaterial_label_en-US" xlink:label="lab_dei_SolicitingMaterial" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Soliciting Material</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SolicitingMaterial" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SolicitingMaterial"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_SolicitingMaterial" xlink:to="lab_dei_SolicitingMaterial" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressPostalZipCode_aecf41cf-c562-4f5e-8f93-a83f9a7fb7fc_terseLabel_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:label id="lab_dei_EntityAddressPostalZipCode_label_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressPostalZipCode" xlink:to="lab_dei_EntityAddressPostalZipCode" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CoverAbstract_86bbdd11-01ca-4b6b-88f7-155d16bb9be2_terseLabel_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cover page.</link:label>
    <link:label id="lab_dei_CoverAbstract_label_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cover [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CoverAbstract" xlink:to="lab_dei_CoverAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_WrittenCommunications_67e64147-da8d-4eca-8686-ab38385851f9_terseLabel_en-US" xlink:label="lab_dei_WrittenCommunications" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Written Communications</link:label>
    <link:label id="lab_dei_WrittenCommunications_label_en-US" xlink:label="lab_dei_WrittenCommunications" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Written Communications</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_WrittenCommunications" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_WrittenCommunications"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_WrittenCommunications" xlink:to="lab_dei_WrittenCommunications" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_LocalPhoneNumber_8ccc55fb-dd9b-4bd7-9af3-002865b56605_terseLabel_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Local Phone Number</link:label>
    <link:label id="lab_dei_LocalPhoneNumber_label_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Local Phone Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LocalPhoneNumber" xlink:to="lab_dei_LocalPhoneNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_Security12bTitle_6a2cbfaf-7ecf-493d-ad42-22f74302c24d_terseLabel_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:label id="lab_dei_Security12bTitle_label_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_Security12bTitle" xlink:to="lab_dei_Security12bTitle" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CityAreaCode_7c399bc0-54dd-4aaf-ad6c-0a7969af1390_terseLabel_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">City Area Code</link:label>
    <link:label id="lab_dei_CityAreaCode_label_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">City Area Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CityAreaCode" xlink:to="lab_dei_CityAreaCode" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentPeriodEndDate_e5703edd-216b-4786-b97c-9fc042a27b2a_terseLabel_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Period End Date</link:label>
    <link:label id="lab_dei_DocumentPeriodEndDate_label_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Period End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentPeriodEndDate" xlink:to="lab_dei_DocumentPeriodEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AmendmentFlag_1cf77cb5-17e6-4a74-b757-997db4caea81_terseLabel_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Amendment Flag</link:label>
    <link:label id="lab_dei_AmendmentFlag_label_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AmendmentFlag" xlink:to="lab_dei_AmendmentFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_ac28186d-d62a-4963-b7bf-7a6e194f16f9_terseLabel_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_label_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityTaxIdentificationNumber" xlink:to="lab_dei_EntityTaxIdentificationNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_TradingSymbol_61726d20-bca0-4f88-afe1-d54a655ceee4_terseLabel_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Trading Symbol</link:label>
    <link:label id="lab_dei_TradingSymbol_label_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trading Symbol</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_TradingSymbol" xlink:to="lab_dei_TradingSymbol" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityRegistrantName_cbacbb2d-8b91-4433-b9e3-b08cc8086482_terseLabel_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:label id="lab_dei_EntityRegistrantName_label_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityRegistrantName" xlink:to="lab_dei_EntityRegistrantName" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_PreCommencementTenderOffer_43312238-ea40-4793-954e-f3440785c48a_terseLabel_en-US" xlink:label="lab_dei_PreCommencementTenderOffer" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Pre-commencement Tender Offer</link:label>
    <link:label id="lab_dei_PreCommencementTenderOffer_label_en-US" xlink:label="lab_dei_PreCommencementTenderOffer" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Pre-commencement Tender Offer</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_PreCommencementTenderOffer" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementTenderOffer"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_PreCommencementTenderOffer" xlink:to="lab_dei_PreCommencementTenderOffer" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentType_4b11db82-5d92-4129-b5d6-fa6c0cdb2c52_terseLabel_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Type</link:label>
    <link:label id="lab_dei_DocumentType_label_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentType" xlink:to="lab_dei_DocumentType" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_6e99284f-587d-443e-b67b-3417db032b73_terseLabel_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_label_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityEmergingGrowthCompany" xlink:to="lab_dei_EntityEmergingGrowthCompany" xlink:type="arc" order="1"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>5
<FILENAME>cdxs-20240502_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2024 Workiva-->
<!--r:e37398cf-c95d-45e8-8cf3-fefaa3b3123d,g:12f9ea56-6de1-49c6-b3eb-3f6f3c6a241c-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.codexis.com/role/Cover" xlink:type="simple" xlink:href="cdxs-20240502.xsd#Cover"/>
  <link:presentationLink xlink:role="http://www.codexis.com/role/Cover" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract_8e940085-3c72-4503-a64e-1f6e1aa7bd93" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey_b7ae5d3f-33a0-4343-bf52-f40bcaa36729" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8e940085-3c72-4503-a64e-1f6e1aa7bd93" xlink:to="loc_dei_EntityCentralIndexKey_b7ae5d3f-33a0-4343-bf52-f40bcaa36729" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType_bd2f06a9-627b-44ac-8d32-c9c0e82edef5" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8e940085-3c72-4503-a64e-1f6e1aa7bd93" xlink:to="loc_dei_DocumentType_bd2f06a9-627b-44ac-8d32-c9c0e82edef5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate_5a221bdf-d21c-4159-834a-e31e899a31a2" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8e940085-3c72-4503-a64e-1f6e1aa7bd93" xlink:to="loc_dei_DocumentPeriodEndDate_5a221bdf-d21c-4159-834a-e31e899a31a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName_908967b4-adfe-46c9-a2aa-c0bd51315dc6" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8e940085-3c72-4503-a64e-1f6e1aa7bd93" xlink:to="loc_dei_EntityRegistrantName_908967b4-adfe-46c9-a2aa-c0bd51315dc6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode_5776c7de-e358-49b5-a8eb-85cb1c4a0dc5" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8e940085-3c72-4503-a64e-1f6e1aa7bd93" xlink:to="loc_dei_EntityIncorporationStateCountryCode_5776c7de-e358-49b5-a8eb-85cb1c4a0dc5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber_596055b4-bfef-478e-82fc-96cedbd74350" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8e940085-3c72-4503-a64e-1f6e1aa7bd93" xlink:to="loc_dei_EntityFileNumber_596055b4-bfef-478e-82fc-96cedbd74350" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber_f6694349-c014-4078-bbd3-591d9777498f" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8e940085-3c72-4503-a64e-1f6e1aa7bd93" xlink:to="loc_dei_EntityTaxIdentificationNumber_f6694349-c014-4078-bbd3-591d9777498f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown_9f999bc7-1b65-4b65-a02a-1f73f3a62170" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8e940085-3c72-4503-a64e-1f6e1aa7bd93" xlink:to="loc_dei_EntityAddressCityOrTown_9f999bc7-1b65-4b65-a02a-1f73f3a62170" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode_5049bafd-bab3-42f1-ac07-f5e2826ffc67" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8e940085-3c72-4503-a64e-1f6e1aa7bd93" xlink:to="loc_dei_EntityAddressPostalZipCode_5049bafd-bab3-42f1-ac07-f5e2826ffc67" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode_2d8c06cc-ab77-4490-a69c-1fabbcbb917f" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8e940085-3c72-4503-a64e-1f6e1aa7bd93" xlink:to="loc_dei_CityAreaCode_2d8c06cc-ab77-4490-a69c-1fabbcbb917f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber_974509f3-6185-48cc-815b-61b29bdcfeb6" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8e940085-3c72-4503-a64e-1f6e1aa7bd93" xlink:to="loc_dei_LocalPhoneNumber_974509f3-6185-48cc-815b-61b29bdcfeb6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_WrittenCommunications_b1f7db08-bdc2-4c7d-adbb-57c1eb1af79b" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_WrittenCommunications"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8e940085-3c72-4503-a64e-1f6e1aa7bd93" xlink:to="loc_dei_WrittenCommunications_b1f7db08-bdc2-4c7d-adbb-57c1eb1af79b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SolicitingMaterial_89a98ba3-b5f5-429d-9f5d-e880cda83e3d" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SolicitingMaterial"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8e940085-3c72-4503-a64e-1f6e1aa7bd93" xlink:to="loc_dei_SolicitingMaterial_89a98ba3-b5f5-429d-9f5d-e880cda83e3d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_PreCommencementTenderOffer_4b8d06d8-0d78-433b-b0ae-8d9c0ee915fd" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementTenderOffer"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8e940085-3c72-4503-a64e-1f6e1aa7bd93" xlink:to="loc_dei_PreCommencementTenderOffer_4b8d06d8-0d78-433b-b0ae-8d9c0ee915fd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_PreCommencementIssuerTenderOffer_20a6b639-d6a1-449d-b902-7934272735fe" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementIssuerTenderOffer"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8e940085-3c72-4503-a64e-1f6e1aa7bd93" xlink:to="loc_dei_PreCommencementIssuerTenderOffer_20a6b639-d6a1-449d-b902-7934272735fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle_5a92367d-8eab-47bc-b784-e9254225768a" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8e940085-3c72-4503-a64e-1f6e1aa7bd93" xlink:to="loc_dei_Security12bTitle_5a92367d-8eab-47bc-b784-e9254225768a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol_011d2a69-6dc6-4b5b-924c-a2a4fc61fc7f" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8e940085-3c72-4503-a64e-1f6e1aa7bd93" xlink:to="loc_dei_TradingSymbol_011d2a69-6dc6-4b5b-924c-a2a4fc61fc7f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName_ca5194d8-0e85-4dec-89be-446b9ad9a82d" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8e940085-3c72-4503-a64e-1f6e1aa7bd93" xlink:to="loc_dei_SecurityExchangeName_ca5194d8-0e85-4dec-89be-446b9ad9a82d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany_2101f5cf-ccd9-4843-8b5d-cc9f7e077405" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8e940085-3c72-4503-a64e-1f6e1aa7bd93" xlink:to="loc_dei_EntityEmergingGrowthCompany_2101f5cf-ccd9-4843-8b5d-cc9f7e077405" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag_89948a22-0aba-46c5-9f32-2f2034f7b980" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8e940085-3c72-4503-a64e-1f6e1aa7bd93" xlink:to="loc_dei_AmendmentFlag_89948a22-0aba-46c5-9f32-2f2034f7b980" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1_d3056c1a-34a3-4c59-b3f3-d5736f5e3ae2" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8e940085-3c72-4503-a64e-1f6e1aa7bd93" xlink:to="loc_dei_EntityAddressAddressLine1_d3056c1a-34a3-4c59-b3f3-d5736f5e3ae2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince_82211e27-66f1-41ea-9ec4-5b418c6c8d84" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_8e940085-3c72-4503-a64e-1f6e1aa7bd93" xlink:to="loc_dei_EntityAddressStateOrProvince_82211e27-66f1-41ea-9ec4-5b418c6c8d84" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>6
<FILENAME>image.jpg
<DESCRIPTION>COMPANY LOGO
<TEXT>
begin 644 image.jpg
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
M%"E3^!@]8L!9,Z0BOI#&SO/EO7W1VUZF<PJ[_$TI=B&-C>^!T-TAI\.S'H%
M=OQ:'2D9I8CX(O5XLTJB*37HJ).CBZHL?$Q[WX;(C%9)*@H:P616>M0?KG_
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
9,@SC_P&AZ9=(I$\ZWP    !)14Y$KD)@@@$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>8
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140577757297376">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cover<br></strong></div></th>
<th class="th"><div>May 02, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001200375<span></span>
</td>
</tr>
<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_DocumentType', window );">Document Type</a></td>
<td class="text">8-K<span></span>
</td>
</tr>
<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">May  02,  2024<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">Codexis, Inc.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
</tr>
<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">001-34705<span></span>
</td>
</tr>
<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">71-0872999<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Redwood City<span></span>
</td>
</tr>
<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">94063<span></span>
</td>
</tr>
<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">650<span></span>
</td>
</tr>
<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">421-8100<span></span>
</td>
</tr>
<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.0001 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">CDXS<span></span>
</td>
</tr>
<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>
<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_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">200 Penobscot 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_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">CA<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_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>9
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( .R HE@'04UB@0   +$    0    9&]C4')O<',O87!P+GAM
M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG
M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    " #L@*)83O[@7>X    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+/
M:L,P#(=?9?B>R''W!TSJR\9.&PQ6V-C-V&IK&L?&UDCZ]G.R-F5L#["CI9\_
M?0*U)DH3$KZD$#&1PWPU^J[/TL0UVQ-%"9#-'KW.=4GTI;D-R6LJS[2#J,U!
M[Q $Y[?@D;35I&$"5G$A,M5:(TU"32&=\-8L^/B9NAEF#6"''GO*T-0-,#5-
MC,>Q:^$"F&"$R>?O MJ%.%?_Q,X=8*?DF-V2&H:A'E9SKNS0P/OST^N\;N7Z
M3+HW6'YE)^D8<<W.D]]6]P^;1Z8$%]<5OZFXV @N^9T4XF-R_>%W$?;!NJW[
MQ\9G0=7"K[M07U!+ P04    " #L@*)8F5R<(Q &  "<)P  $P   'AL+W1H
M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03<VEVV[29A.U.
M'X416(UL>621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X
M8-DOV]:[MR_>X%<R)!%!,!FGK_# "J5,7K5::0##.'W)$Q+#W(*+"$MX%,O6
M7.!;&B\CUNJTV]U6A&ELH1A'9&!]7BQH0-!445IO7R"TY1\S^!7+5(UEHP$3
M5T$FN8BT\OELQ?S:WCYES^DZ'3*!;C ;6"!_SF^GY$Y:B.%4PL3 :F<_5FO'
MT=)(@(+)?90%NDGVH],5"#(-.SJ=6,YV?/;$[9^,RMIT-&T:X./Q>#BVR]*+
M<!P$X%&[GL*=]&R_I$$)M*-IT&38]MJND::JC5-/T_=]W^N;:)P*C5M/TVMW
MW=..B<:MT'@-OO%/A\.NB<:KT'3K:28G_:YKI.D6:$)&X^MZ$A6UY4#3( !8
M<';6S-(#EEXI^G64&MD=N]U!7/!8[CF)$?[&Q036:=(9EC1&<IV0!0X -\31
M3%!\KT&VBN#"DM)<D-;/*;50&@B:R('U1X(AQ=RO_?67N\FD,WJ=?3K.:Y1_
M::L!I^V[F\^3_'/HY)^GD]=-0LYPO"P)\?LC6V&')VX[$W(Z'&="?,_V]I&E
M)3+/[_D*ZTX\9Q]6EK!=S\_DGHQR([O=]EA]]D]';B/7J<"S(M>41B1%G\@M
MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7
MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V<
M/!T3$LV4"P9!AI<D)A*I.7Y-2!/^*Z7:_IS30/"4+R3Z2I&/:;,CIW0FS>@S
M&L%&KQMUAVC2/'K^!?F<-0H<D1L= F<;LT8AA&F[\!ZO)(Z:K<(1*T(^8ADV
M&G*U%H&V<:F$8%H2QM%X3M*T$?Q9K#63/F#([,V1=<[6D0X1DEXW0CYBSHN0
M$;\>ACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0'
MHYI9";V$5FJ?JH<T/J@>,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y
M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RS<C'5*^3*=@Y
MG\#L_6@^GO'M^MDDA*^:62TC%I!+@;-!)+C\B\KP*L0)Z&1;)0G+5--E-XH2
MGD(;;NE3]4J5U^6ON2BX/%ODZ:^A=#XLS_D\7^>TS0LS0[=R2^JVE+ZU)CA*
M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D*
MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-#
MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B
M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P
MOFH]M!5.S_Y9K<B?#!%.%@L22&.4%Z9*HO,94[[G*TG$53B_13.V$I<8O./F
MQW%.4[@2=K8/ C*YNSFI>F4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W
MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2
MD 83 <V4R43P H)DIAR F/H+O?(,N2D5SJT^.7]%+(.&3E[2)1(4BK ,!2$7
M<N/O[Y-J=XS7^BR!;814,F35%\I#B<$],W)#V%0E\Z[:)@N%V^)4S;L:OB9@
M2\-Z;ITM)__;7M0]M!<]1O.CF> >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F
M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+
M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5
M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0    (
M .R HE@Q0'S.0@0  'D0   8    >&PO=V]R:W-H965T<R]S:&5E=#$N>&UL
ME9AM<^(V%(7_BL;M=-J9)-B&\)(",P22-K.;+ UIM]-./PC[ IJU)5>20_CW
MO3+$IEUS3;\$R_8]?B0='TL9;I7^8C8 EKVEB30C;V-M=M-JF6@#*3=7*@.)
M5U9*I]QB4Z];)M/ XZ(H35JA[W=;*1?2&P^+<W,]'JK<)D+"7#.3IRG7NUM(
MU';D!=[[B6>QWEAWHC4>9GP-"["_9G.-K5:I$HL4I!%*,@VKD3<);F[#CBLH
M[OA-P-8<'3/7E:527USC(1YYOB."!"+K)#C^O,(4DL0I(<??!U&O?*8K/#Y^
M5[\O.H^=67(#4Y5\%K'=C+R^QV)8\3RQSVK[,QPZ=.WT(I68XB_;[N_M=#P6
MY<:J]%",!*F0^U_^=AB(XX+P1$%X* @+[OV#"LH9MWP\U&K+M+L;U=Q!T=6B
M&N&$=+.RL!JO"JRSXZEZ!3UL691R)UK1H>QV7Q:>*'OD.^:'%RSTP\Z_JUL(
M4%*$)458R+4I"O;G9&FLQGGZJPYHK]"I5W#FO3$9CV#DH3L-Z%?PQM]]$W3]
M'PF^=LG7IM3'=](*NV-3D,B7L <9PQO[ +LZ3EK)]_T WYAV[YK ZI18'5)L
MIJ(<WQ#+7G89U+'0Y?W+#P3$=0EQ?1[$'+10,;N3,4,KUO+02LY4A:N:;-4M
MT;KG3-LSK(4S%C(^\;06C-:9*IQO82YPXJ,K@JM7<O7.X4(UI3.EN<NG"[:P
M.&I,:395.?H,[8:/K8.EQ6=W!&&_).R?0W@O$F!/>;JLSPA: YU^V>[T?,KI
M@Y)G< [/"W]C#S&:3:Q$5 P;04<K]H)+O]\+!X,!@1?X58SZYP!.XAC3!YTR
M=2V<RQ>UE;7Q2LL]0[Q5^#(Y&8KO*.:#_\4W5\9BDOTALI,V:U <=/QNFV*K
MPC\@LWM<C-4$UQ2G46B![K5/@50I']#A_%%%.";SC9*4ZQM$.F%PV0]\DJ@*
M^(".Z,]:6 L2!R9-<WGPO*FEHH56/#% (55Q'] IO5")B(05<LT>,;"TX$DM
M#ZW2R%-E?$"'\US#983# S*"_<<0\/.LV:?5ZL3\T7J-9%7*!W02?T7V8$R.
M9(V M&PC8!7R 9W0+\)BOJL5"\+OES^P!42Y_BIP#DRTDO,GAO'"JNC+!<NX
M9J\\R8%]ZU^Y%0_+L+]FPS7)77T, CJ[7S2/G?\6NW2IZMU'"TQGOR^H96L5
M^R&=T^]#QN[>H@V7:SBYPF@0>IHL9I-?**8JZL.SHOXN!;UVH_03*MB-BY",
MR]K);1!L,EQXM,RG@WJ"KT%<O KW"5_7HM "C2A5UH=G+>G+#^+A@'W$^]@G
M63^'M"2NZW$1+-721,JRF<;M)H5:?01".KO_BUHN%.=:O0H,EUI66G,ZJ4-K
M'6TDW:;\D3L+&9; "E7\JQZ&NM[O<_<-J[)B;[E4%G>JQ>$&.*:;NP&OKY2R
M[PVW72W_VS#^!U!+ P04    " #L@*)8GZ ;\+$"  #B#   #0   'AL+W-T
M>6QE<RYX;6S=5VUKVS 0_BM"/V!N8FKBD1BV0&&PC4+S85^56'8$>O%DN7/Z
MZZ>S;"=I=67=A['-H<G=/;J[1W<GF:Y;=Y+\X<BY([V2NMW0HW/-^R1I#T>N
M6/O.-%Q[I#)6,>=56R=M8SDK6W!2,EG>W&2)8D+38JT[=:=<2PZFTVY#;VA2
MK"NCSY:4!H-?RA0GCTQNZ)9)L;=B6,N4D*=@7H+A8*2QQ'DJ?$,78&F? KP(
M&K <XRBAC05C$C*$[_VX_!DP::U7A90SP24-AF+=,.>XU7=>&18/QA<0&>7=
MJ?$,:\M.B^4M/3L,/S[)WMB2VSG-@DZF8BUY!72LJ(_PZTR3 .B<45XH!:N-
M9@.'R6,4?-@#E_(!6OBMNHK=5R3TXE,);2"PU4GTA$8QA D*Q+^,%F)?A+W]
MK;"D$8_&?>S\;O2@?^^,X_>65Z(?]+Z:\V/1%WATUC3R]$&*6BL>]O[+"8LU
MF_S(T5CQY+/!I!R\@5M*'KEUXG!I^6%9L^.]FZ:IKW#.RW^0\Y^M<\TUMTQ>
MDO:C_S=7^2V,D_'T7!S1JP,Z6PE<A!OZ%>Y7>>9 ]IV03NA1.XJRY/K%.?7A
M'=O["_PJOE]?\HIUTNUF<$//\A=>BD[E\ZI[J,NXZBQ_AOMHD<VWL,\E=,E[
M7FY'U=;[021>\%G'!QR>(W?#$T<PGX#%$<"P/!@#S"=X87G^I_VLT/T$#..V
MBB(KU&>%^@2O&+(=/EB>N$_NG_A.\SQ-LPRKZ'8;9;#%ZI9E\!>/AG$##RP/
M9'I;K?%NXQ/R^AQ@/7UM0K"=XI.([12O-2#QNH%'GL>[C>4!#ZP+V.Q _G@>
MF*FX3YI"5S%NV G&D3S'$)C%^(QF&5*=##[Q_F"G)$WS/(X %F>0IA@"IQ%'
M, ;  4/2='@//GL?)=-[*CG_5U/\!%!+ P04    " #L@*)8EXJ[',     3
M @  "P   %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D!5J(/
MV!(%BD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]ISI%"
MKM0L'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA<UYVE/=LO3T%O@*\Z3'%"
M:4A+,P[PS=)_,O?S##5%Y4HCE5L:>-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0
MT^FO8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0    ( .R HEBJ
MQ"(6,P$  "("   /    >&PO=V]R:V)O;VLN>&ULC5'1;L(P#/R5*A^P%K0A
M#5%>0-N0I@V-B??0NM0BB2O'A8VOG]NJ&M)>]I3<V;K<7187XM.!Z)1\>1=B
M;FJ19IZFL:C!VWA'#02=5,3>BD(^IK%AL&6L <2[=)IEL]1;#&:Y&+6VG-X"
M$B@$*2C9$7N$2_R==S Y8\0#.I3OW/1W!R;Q&-#C%<K<9":)-5U>B/%*0:S;
M%4S.Y68R#/; @L4?>M>9_+2'V#-B#Q]6C>1FEJE@A1REW^CUK7H\@RX/J!5Z
M0B? :ROPS-0V&(Z=C*9(;V+T/8SG4.*<_U,C5146L*:B]1!DZ)'!=09#K+&)
M)@G60VY6= ;N\N@#FW+()FKJIBF>HPYX4P[V1D\E5!B@?%.9J+SV4VPYZ8Y>
M9WK_,'G4'EKG5LJ]AU>RY1AQ_)[E#U!+ P04    " #L@*)8)!Z;HJT   #X
M 0  &@   'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QSM9$]#H,P#(6O$N4
M-5"I0P5,75@K+A %\R,2$L6N"K<OA0&0.G1ALIXM?^_)3I]H%'=NH+;S)$9K
M!LIDR^SO *1;M(HNSN,P3VH7K.)9A@:\TKUJ$)(HND'8,V2>[IFBG#S^0W1U
MW6E\./VR./ /,+Q=Z*E%9"E*%1KD3,)HMC;!4N++3):BJ#(9BBJ6<%H@XLD@
M;6E6?;!/3K3G>1<W]T6NS>,)KM\,<'AT_@%02P,$%     @ [("B6&60>9(9
M 0  SP,  !,   !;0V]N=&5N=%]4>7!E<UTN>&ULK9--3L,P$(6O$F5;)2XL
M6*"F&V +77 !8T\:J_Z39UK2VS-.VDJ@$A6%3:QXWKS/GI>LWH\1L.B=]=B4
M'5%\% )5!TYB'2)XKK0A.4G\FK8B2K636Q#WR^6#4,$3>*HH>Y3KU3.T<F^I
M>.EY&TWP39G 8ED\C<+,:DH9HS5*$M?%P>L?E.I$J+EST&!G(BY84(JKA%SY
M'7#J>SM 2D9#L9&)7J5CE>BM0#I:P'K:XLH90]L:!3JHO>.6&F,"J;$#(&?K
MT70Q32:>,(S/N]G\P68*R,I-"A$YL01_QYTCR=U59"-(9*:O>"&R]>S[04Y;
M@[Z1S>/]#&DWY(%B6.;/^'O&%_\;SO$1PNZ_/[&\UDX:?^:+X3]>?P%02P$"
M% ,4    " #L@*)8!T%-8H$   "Q    $               @ $     9&]C
M4')O<',O87!P+GAM;%!+ 0(4 Q0    ( .R HEA._N!=[@   "L"   1
M          "  :\   !D;V-0<F]P<R]C;W)E+GAM;%!+ 0(4 Q0    ( .R
MHEB97)PC$ 8  )PG   3              "  <P!  !X;"]T:&5M92]T:&5M
M93$N>&UL4$L! A0#%     @ [("B6#% ?,Y"!   >1   !@
M ("!#0@  'AL+W=O<FMS:&5E=',O<VAE970Q+GAM;%!+ 0(4 Q0    ( .R
MHEB?H!OPL0(  .(,   -              "  84,  !X;"]S='EL97,N>&UL
M4$L! A0#%     @ [("B6)>*NQS     $P(   L              ( !80\
M %]R96QS+RYR96QS4$L! A0#%     @ [("B6*K$(A8S 0  (@(   \
M         ( !2A   'AL+W=O<FMB;V]K+GAM;%!+ 0(4 Q0    ( .R HE@D
M'INBK0   /@!   :              "  :H1  !X;"]?<F5L<R]W;W)K8F]O
M:RYX;6PN<F5L<U!+ 0(4 Q0    ( .R HEAED'F2&0$  ,\#   3
M      "  8\2  !;0V]N=&5N=%]4>7!E<UTN>&UL4$L%!@     )  D /@(
' -D3      $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>10
<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>11
<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>13
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.1.u1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>1</ContextCount>
  <ElementCount>22</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>0</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>0</UnitCount>
  <MyReports>
    <Report instance="cdxs-20240502.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>0000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.codexis.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 doctype="8-K" isOnlyDei="true" original="cdxs-20240502.htm">cdxs-20240502.htm</File>
    <File>cdxs-20240502.xsd</File>
    <File>cdxs-20240502_lab.xml</File>
    <File>cdxs-20240502_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="24">http://xbrl.sec.gov/dei/2024</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>15
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "cdxs-20240502.htm": {
   "nsprefix": "cdxs",
   "nsuri": "http://www.codexis.com/20240502",
   "dts": {
    "inline": {
     "local": [
      "cdxs-20240502.htm"
     ]
    },
    "schema": {
     "local": [
      "cdxs-20240502.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/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024.xsd"
     ]
    },
    "labelLink": {
     "local": [
      "cdxs-20240502_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "cdxs-20240502_pre.xml"
     ]
    }
   },
   "keyStandard": 22,
   "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": 23,
   "unitCount": 0,
   "baseTaxonomies": {
    "http://xbrl.sec.gov/dei/2024": 24
   },
   "report": {
    "R1": {
     "role": "http://www.codexis.com/role/Cover",
     "longName": "0000001 - Document - Cover",
     "shortName": "Cover",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cdxs-20240502.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cdxs-20240502.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amendment Flag",
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "City Area Code",
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cover page.",
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Period End Date",
        "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_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentType",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Type",
        "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_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, Address Line One",
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, City or Town",
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, Postal Zip Code",
        "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://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, State or Province",
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Central Index Key",
        "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": [
      "r1"
     ]
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Emerging Growth Company",
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity File Number",
        "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_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Incorporation, State or Country Code",
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Registrant Name",
        "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": [
      "r1"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Tax Identification Number",
        "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": [
      "r1"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Local Phone Number",
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PreCommencementIssuerTenderOffer",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Pre-commencement Issuer Tender Offer",
        "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": [
      "r3"
     ]
    },
    "dei_PreCommencementTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PreCommencementTenderOffer",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Pre-commencement Tender Offer",
        "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": [
      "r5"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Title of 12(b) Security",
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r0"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Security Exchange Name",
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_SolicitingMaterial": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SolicitingMaterial",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Soliciting Material",
        "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": [
      "r4"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trading Symbol",
        "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://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Written Communications",
        "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": [
      "r6"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r1": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r2": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r3": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r4": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14a",
   "Subsection": "12"
  },
  "r5": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r6": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "425"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>16
<FILENAME>0001200375-24-000013-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001200375-24-000013-xbrl.zip
M4$L#!!0    ( .R HEB0]>:TYR4  -2E 0 =    83DY,65A<FYI;F=S<F5L
M96%S97$Q,C R-"YH=&WM/6N7VD:6W_=7U-I.QCY'$,2;;H_/:7?;B6?LV...
M)S.?]A12 15+*J)'M\FOWWMOE81X=!MH&@1HSJYC RI5W?>[7HYBWWOU<B2X
M^^I_7OYOI<*NE)/X(HB9$PH>"Y<ED0R&['=71%]9I6)^=:G&DU .1S&KU^I-
M]KL*O\H;KK^/9>R)5^DZ+W_2_W[Y$[WD95^YDU<O77G#I/OW)[(]Z/%!P^[V
M.^U!L]?H=AVGU>4=/F@Z];8[:/Z?_00>A9_K9Z)XXHF_/_%E4!D)?/]9LU[M
MM,;Q^:UTX]&97:O]\(1^^NKE0 4QO"^$Y_5?]3(+B\7B6USAGAP&9W2D)_K1
M]&M'>2H\>UJC_YWC-Y4!]Z4W.?O;;](7$?M5W++/RN?!WZR(!U$E$J$<Z!]&
M\B]QUH/=T;]NS8YA&4\&(CV!7<<]O_DVDGT9LUZO:L]N^+[#T!_2'S+NQ0!-
MGP]%]8_Q\ F+0F?VW_HPYI7=SOC;N<_#(<"QK^)8^6<(PQL1QM+AGH$& 49_
M;< +B!I_6X:0' P=0+H(5P?B)3S6#^4=P+/K<]#KS$//;@'T+I4KOLF(?19C
M%<81>RO#*&;_2G@(>]$T^E8&/' D]^!'4>+%T5I0?OR#VNE!::4S&<//G14(
MYU\V^TW%=*P;$22"?1FS1OT']E_!PXH"E%8F\#>+O0L<+W&1ES^%RDV<./^
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
MP$B4KG#)E$P67C+A>#ICIIJ,<[U\?RV+<2P?-XF<O%E"X,FOG9DI)A64E47
M.NWMA\'W[C#>6^H\K88HG<@",+PNU#;U=5%:28"IR@G5;&.:U^Y4[2S3@XIQ
MML"/$$SQJ% ;NL_L1C7+#".=+_R^429_"H']3[/UE7/XMYL:_[UJ>RWT=ZO-
M$OL'@/W//SYM=,^OIMB_ [FW LR_9YUJ*\/J#+J;.?)8BFYM$>8*E02[Y5BH
M(<'3AC,R-Q'&1<-,GQH&VCX'C?FLG9,DE.O0+YW)8.=3YVG![)T)][1F<;YL
M9#&+/E?+E<^IOUTX(UL IJX @0>?-7*0RYWAM50SX83458#MF3!(:LB,85&I
MDLB;*S5 **)GHJ,S2RWEDJ_V)U6'H0(K6C>U$:Z:O1]6$:#-]@]WR4T,RIG8
M$5$^_&SA+51&/N6J&^"Q7(".;%"S05]^*T5Q(4@FE1[HLH"4^HXHMNUJ?;DL
MMMO5SJK"V!7+A7$(8C- _<^G/Y&!CNMA*8AR)(DPDKK@X</"Z DY()=B:^XA
ME<28;TSCNU%>_EVF\4UKKMV*THT QS"-0(1BF'C80C') #3_(H_^HO>84R>P
M72"[M+)OF=R_!FUQ"5ZOR@5G]&*NW@UYO K[)C(X:A>P07O3 /!XGT7)>$QQ
M*]A#=1EEH0\+W)H$;L40V8#^=_[HO5/;YO'3J$:H'VXU0BE@YP3LM? P\6&Q
MGT6 >0I& I==N( :20%7+ E84?S6J[T[Q&_K>Z[/]\6O%EY;D+VF(B.5J NB
M>"J]=,(K_2%WJ>L^TBV3E,S!2+B.RJO! &L!03N, .3P+-9\4Z%U%"OG:Z5/
MSB,"!0"I8\X&J*5M6@0^H#)]0*"'1N-=5 X$B39&YK58#'[XK%:UV]AJJ=,<
MU@SE\^FBZ+75ZU.?,'VXT<P_O/35C0UH9&?]QR4=;I,.+XA0=!_6M(LZ[_1B
M'?VS;BOG.Z-, TECZ<8.\6<B;[B7%?[*X$9$L2DMG\\N8BYMFME>:1&=;>B#
MP$RR'#DEJ@)="9;V="A=W(;9MK2%>$D3K=D)UE.3!3B7F6P7OD-\>:A_U4D<
MAY/26,X^*3V%Z1 230-T_&FK]] <G\DH2I T\ETCW6Q4  I>3(U&-+J@5(L%
M$$<+@7!L_\Y8EM*5:? DY,&0*F6>-;J9:*(X:'VJ\BC^2'4%Z>B"G./[Z>(_
M[S_^^]V5R9J6AE$1*& A?KL*!=BS%%#/**#$:1%P^G,^- HXFA\GDAD(=V*X
MU:446+OQPYYY>N^:_E(% _!^4;M=8ID?6DN_BSY8./$!G_5^;4\6X$AY+E43
M9N=WTO/?ZO.;>4)4T1*8MH FZ?9&C8VK?I6]^:W*,'L$)F'Z##X?>>B0FPII
MGM:D<<=)RZ5&8N&]J57*;[CTJ/[%5$B^(]-5A1%6JZ3YL[Q!#6^.I!Y6=0^'
M-OOP_O;V.920Z@I':6/YC-HS\%=/7MW>WE8=,R(&CO[CTV;G7*:GV<>L*9UG
MF8>\"R8>2%<6)-AWHA5$M].I=&JM2KW7:>L!;<K'8BF''DEGO]1K=J7=[56Z
MG5Y7SXH(J(?%%/Z:GQZRS%@.QPL6"T^,1]BDB8G=T,U5D=U!S0B>9A>X+@'@
MY5AJ#,+[F_1!WGK &+?*_()BKH91J%XT1_CTAOZ$$(=K(++:[1J@HM58CBP5
M:ES9]4JG:;?NP17[I),$6#5-*34>14C#S&YTZNUVHV4X&>OHTKPV'1\%02H#
M0@%.Y&0++(W[[-482*'(V@+0#ID2EVNOBS[6#ANYOO/3[2WQDVL16F4R'OP$
MB_B'--4JIHJ$<2A%C/XK+O7F1GGP@Q^?VIWF.<LU_V5%C6:X%?8"9.V\IHAX
M1)YQ %]Y%@6/*V,1XD/TN=Z4%I=Z<I7C8=LYA8FP'EG((!_7,3^/<$-$_J$
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
M;C^M]$G+JJ]=-U.F3W:.HWU6.VXU@7(0_LH6!,+W6HD.D SM6L?J-=<EQ+4
M<4#&QC%AMM>PFNT-BS4*YJDLEWM%%CES]?RG97[85JV];BJP-#]."D<'/91Y
M]1B%+MO'.X$"%51\'GX5>HP$=F7&$Q8)L$ID?')AC)[5J97%GB6.3MQ(P+]7
MU*"21,*X):S"/HY%R.GV,$_P2#P\KW)XI&?7K49[W2O"2@MBQTAJ6':C<_0F
MQ&Y&L]P5WE0@#,!.P+ FF@QC-"<V%P@'JXOLIM5N;QBD* V&72&I936[ZPJ$
MTF)8!\0_*^7>2L\[+7.@;C7;&];]E=; :>#H!.()^E8.C"-L+Y-Q>'1F6XWR
M\N#"XZB^SU%5IU>*N5P0;%R.ME*^JVB0V-XH^X7C%YO9FCVKM79WW+HPV+/M
M5)+R29!RHVVUVAOV?1?O"K@BQYN6CP)^+WE?>I2/HI#3=:R<KR/E 6"CO[$W
ME+/:TJ#@N4LA\D@JT*3@57=Y J&'=%JP-Z61<OK0L=339].'QGRR;/30@WV4
MHAWXB,>V8MG7'LO/MR2P2XH['(IK6;WFX<?]#T50APD6%2H?.QXX7FEU6LD
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
MO3JTI<\C@>^0.&("'67?"0:OAW"!R+V,/9EJ)MZQLX7JN%&N5"MQL HHB4#
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
M,[\D)>SV8X\OO8& K9C\&3WUM_<:_P=02P,$%     @ [("B6)FLY0AG @
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
M)0  U*4! !T              ( !     &$Y.3%E87)N:6YG<W)E;&5A<V5Q
M,3(P,C0N:'1M4$L! A0#%     @ [("B6)\P(3A$$   BG(  !$
M     ( !(B8  &-D>',M,C R-# U,#(N:'1M4$L! A0#%     @ [("B6)FL
MY0AG @  ;0<  !$              ( !E38  &-D>',M,C R-# U,#(N>'-D
M4$L! A0#%     @ [("B6%S]-"4P"@  >%4  !4              ( !*SD
M &-D>',M,C R-# U,#)?;&%B+GAM;%!+ 0(4 Q0    ( .R HEAQ-;+;L@8
M -PP   5              "  8Y#  !C9'AS+3(P,C0P-3 R7W!R92YX;6Q0
52P4&      4 !0!/ 0  <TH

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>cdxs-20240502_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2024"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="cdxs-20240502.xsd" xlink:type="simple"/>
    <context id="c-1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001200375</identifier>
        </entity>
        <period>
            <startDate>2024-05-02</startDate>
            <endDate>2024-05-02</endDate>
        </period>
    </context>
    <dei:EntityCentralIndexKey contextRef="c-1" id="f-22">0001200375</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="c-1" id="f-23">false</dei:AmendmentFlag>
    <dei:DocumentType contextRef="c-1" id="f-1">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate contextRef="c-1" id="f-2">2024-05-02</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName contextRef="c-1" id="f-3">Codexis, Inc.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="c-1" id="f-4">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber contextRef="c-1" id="f-5">001-34705</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber contextRef="c-1" id="f-6">71-0872999</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="c-1" id="f-7">200 Penobscot Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="c-1" id="f-8">Redwood City</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="c-1" id="f-9">CA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="c-1" id="f-10">94063</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="c-1" id="f-11">650</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="c-1" id="f-12">421-8100</dei:LocalPhoneNumber>
    <dei:WrittenCommunications contextRef="c-1" id="f-13">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial contextRef="c-1" id="f-14">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer contextRef="c-1" id="f-15">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer contextRef="c-1" id="f-16">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle contextRef="c-1" id="f-17">Common Stock, par value $0.0001 per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="c-1" id="f-18">CDXS</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="c-1" id="f-19">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany contextRef="c-1" id="f-20">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityEmergingGrowthCompany contextRef="c-1" id="f-21">false</dei:EntityEmergingGrowthCompany>
    <dei:DocumentPeriodEndDate contextRef="c-1" id="f-24">2024-05-02</dei:DocumentPeriodEndDate>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
