<SEC-DOCUMENT>0000851205-25-000010.txt : 20250212
<SEC-HEADER>0000851205-25-000010.hdr.sgml : 20250212
<ACCEPTANCE-DATETIME>20250212163856
ACCESSION NUMBER:		0000851205-25-000010
CONFORMED SUBMISSION TYPE:	8-K
PUBLIC DOCUMENT COUNT:		16
CONFORMED PERIOD OF REPORT:	20250212
ITEM INFORMATION:		Results of Operations and Financial Condition
ITEM INFORMATION:		Other Events
ITEM INFORMATION:		Financial Statements and Exhibits
FILED AS OF DATE:		20250212
DATE AS OF CHANGE:		20250212

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			COGNEX CORP
		CENTRAL INDEX KEY:			0000851205
		STANDARD INDUSTRIAL CLASSIFICATION:	INDUSTRIAL INSTRUMENTS FOR MEASUREMENT, DISPLAY, AND CONTROL [3823]
		ORGANIZATION NAME:           	08 Industrial Applications and Services
		IRS NUMBER:				042713778
		STATE OF INCORPORATION:			MA
		FISCAL YEAR END:			1231

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

	BUSINESS ADDRESS:	
		STREET 1:		ONE VISION DR
		CITY:			NATICK
		STATE:			MA
		ZIP:			01760
		BUSINESS PHONE:		5086503000

	MAIL ADDRESS:	
		STREET 1:		ONE VISION DRIVE
		CITY:			NATICK
		STATE:			MA
		ZIP:			01760
</SEC-HEADER>
<DOCUMENT>
<TYPE>8-K
<SEQUENCE>1
<FILENAME>cgnx-20250212.htm
<DESCRIPTION>8-K
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2025 Workiva-->
<!--r:79979615-f3b9-4082-9b3e-02db648b1135,g:f0f80bbf-c1c6-4e37-94a2-ffd4a067563d,d:5a6950bc4a9249a3ae42fece1a21f784-->
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:dei="http://xbrl.sec.gov/dei/2024" xml:lang="en-US"><head><meta http-equiv="Content-Type" content="text/html"/>


<title>cgnx-20250212</title></head><body><div style="display:none"><ix:header><ix:hidden><ix:nonNumeric contextRef="c-1" name="dei:EntityCentralIndexKey" id="f-21">0000851205</ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="dei:AmendmentFlag" format="ixt:fixed-false" id="f-22">FALSE</ix:nonNumeric></ix:hidden><ix:references xml:lang="en-US"><link:schemaRef xlink:type="simple" xlink:href="cgnx-20250212.xsd"/></ix:references><ix:resources><xbrli:context id="c-1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2025-02-12</xbrli:startDate><xbrli:endDate>2025-02-12</xbrli:endDate></xbrli:period></xbrli:context></ix:resources></ix:header></div><div id="i5a6950bc4a9249a3ae42fece1a21f784_1"></div><div style="min-height:54pt;width:100%"><div style="margin-bottom:0.08pt"><span><br/></span></div></div><div style="margin-top:2.7pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:14pt;font-weight:700;line-height:120%">UNITED STATES</span></div><div style="margin-top:2.7pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:14pt;font-weight:700;line-height:120%">SECURITIES AND EXCHANGE COMMISSION</span></div><div style="margin-top:2.7pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Washington, D.C. 20549</span></div><div style="margin-top:2.7pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">___________________________________</span></div><div style="margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:14pt;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:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">___________________________________</span></div><div style="margin-top:2.7pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CURRENT REPORT</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Pursuant to Section 13 or 15(d)</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">of the Securities Exchange Act of 1934</span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:DocumentPeriodEndDate" format="ixt:date-monthname-day-year-en" id="f-2">February 12, 2025</ix:nonNumeric></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Date of Report (date of earliest event reported)</span></div><div style="margin-top:2.7pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">___________________________________</span></div><div style="margin-top:2.7pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:16pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:EntityRegistrantName" id="f-3">Cognex Corporation</ix:nonNumeric></span></div><div style="margin-top:2.7pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Exact name of registrant as specified in its charter)</span></div><div style="margin-top:2.7pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">___________________________________</span></div><div><span><br/></span></div><div style="margin-bottom:6pt"><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.233%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:32.233%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:32.234%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:0.92pt;padding-right:0.92pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:125%"><ix:nonNumeric contextRef="c-1" name="dei:EntityIncorporationStateCountryCode" format="ixt-sec:stateprovnameen" id="f-4">Massachusetts</ix:nonNumeric></span></div><div style="padding-left:0.92pt;padding-right:0.92pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(State or other jurisdiction of </span></div><div style="padding-left:0.92pt;padding-right:0.92pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">incorporation or organization)</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:0.95pt;padding-right:0.95pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:125%"><ix:nonNumeric contextRef="c-1" name="dei:EntityFileNumber" id="f-5">001-34218</ix:nonNumeric></span></div><div style="padding-left:0.95pt;padding-right:0.95pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Commission File Number)</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:0.95pt;padding-right:0.95pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:125%"><ix:nonNumeric contextRef="c-1" name="dei:EntityTaxIdentificationNumber" id="f-6">04-2713778</ix:nonNumeric></span></div><div style="margin-bottom:0.08pt;padding-left:0.95pt;padding-right:0.95pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:125%">(I.R.S. Employer Identification Number)</span></div></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:3.92pt;padding-right:3.92pt;text-align:center"><span style="color:#000000;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">One Vision Drive</ix:nonNumeric></span></div><div style="margin-bottom:0.08pt;padding-left:3.92pt;padding-right:3.92pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:EntityAddressCityOrTown" id="f-8">Natick</ix:nonNumeric>, <ix:nonNumeric contextRef="c-1" name="dei:EntityAddressStateOrProvince" format="ixt-sec:stateprovnameen" id="f-9">Massachusetts</ix:nonNumeric> <ix:nonNumeric contextRef="c-1" name="dei:EntityAddressPostalZipCode" id="f-10">01760-2059</ix:nonNumeric></span></div></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:4.37pt;padding-right:4.37pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Address of principal executive offices and zip code)</span></div></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:0.08pt;text-align:center"><span style="color:#000000;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">508</ix:nonNumeric>) <ix:nonNumeric contextRef="c-1" name="dei:LocalPhoneNumber" id="f-12">650-3000</ix:nonNumeric></span></div></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:4.37pt;padding-right:4.37pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Registrant's telephone number, including area code)</span></div></td></tr></table></div><div style="margin-bottom:6pt;margin-top:2.7pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">___________________________________</span></div><div style="margin-top:10.8pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">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></div><div><span><br/></span></div><div style="margin-bottom:6pt"><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:4.852%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:92.948%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:1.4pt;padding-right:1.4pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:WrittenCommunications" format="ixt:fixed-false" id="f-13">&#9744;</ix:nonNumeric></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:0.9pt;padding-right:1.9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Written communications pursuant to Rule 425 under the Securities Act (17 CFR 230.425)</span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:1.4pt;padding-right:1.4pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:SolicitingMaterial" format="ixt:fixed-false" id="f-14">&#9744;</ix:nonNumeric></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:0.9pt;padding-right:1.9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Soliciting material pursuant to Rule 14a-12 under the Exchange Act (17 CFR 240.14a-12)</span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:1.4pt;padding-right:1.4pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:PreCommencementTenderOffer" format="ixt:fixed-false" id="f-15">&#9744;</ix:nonNumeric></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:0.9pt;padding-right:1.9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act (17 CFR 240.14d-2(b))</span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:1.4pt;padding-right:1.4pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:PreCommencementIssuerTenderOffer" format="ixt:fixed-false" id="f-16">&#9744;</ix:nonNumeric></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:0.9pt;padding-right:1.9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act (17 CFR 240.13e-4(c))</span></div></td></tr></table></div><div style="margin-bottom:6pt"><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.233%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:24.644%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:39.823%"/><td style="width:0.1%"/></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:4.4pt;padding-right:4.4pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Securities registered pursuant to Section 12(b) of the Act:</span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:1.4pt;padding-right:1.4pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Title of each class</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:1.4pt;padding-right:1.4pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Trading Symbol</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:1.4pt;padding-right:1.4pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Name of each exchange on which registered</span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:125%"><ix:nonNumeric contextRef="c-1" name="dei:Security12bTitle" id="f-17">Common stock, par value $.002 per share</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:125%"><ix:nonNumeric contextRef="c-1" name="dei:TradingSymbol" id="f-18">CGNX</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:125%"><ix:nonNumeric contextRef="c-1" name="dei:SecurityExchangeName" format="ixt-sec:exchnameen" id="f-19">The NASDAQ Stock Market LLC</ix:nonNumeric></span></td></tr></table></div><div style="margin-top:5.4pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Indicate by check mark whether the registrant is an emerging growth company as defined in Rule 12b-2 of the Exchange Act.</span></div><div style="margin-top:5.4pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Emerging growth company&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="dei:EntityEmergingGrowthCompany" format="ixt-sec:boolballotbox" id="f-20">&#9744;</ix:nonNumeric></span></div><div style="margin-top:5.4pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. &#9744;</span></div><div style="margin-bottom:0.08pt"><span><br/></span></div><div style="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-bottom:0.08pt"><span><br/></span></div></div></div><div id="i5a6950bc4a9249a3ae42fece1a21f784_7"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="margin-bottom:0.08pt"><span><br/></span></div></div><div style="-sec-extract:summary;margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">Item 2.02 - Results of Operations and Financial Condition</span></div><div style="margin-top:6pt;text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">O</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">n February 12, 2025, </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cognex Corporation (the "</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Company</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">") issued a news release to report its financial results for the quarter and year ended December 31, 2024. The release is furnished as Exhibit 99.1 hereto. The information in Item 2.02 of this Current Report on Form 8-K, including the Exhibit attached hereto, shall not be deemed &#8220;filed&#8221; for purposes of Section 18 of the Securities Exchange Act of 1934, nor shall it be deemed to be incorporated by reference in any filing under the Securities Act of 1933 or the Securities Exchange Act of 1934, regardless of any general incorporation language in such filing.</span></div><div style="margin-bottom:0.08pt;text-align:justify"><span><br/></span></div><div style="margin-bottom:0.08pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:125%">Item 8.01 - Other Events</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 12, 2025, t</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">he Company announced that its Board of Directors declared a quarterly cash dividend of $0.08 per share. The dividend is payable on March 13, 2025, to all shareholders of record at the close of business on February 27, 2025.</span></div><div style="margin-bottom:0.08pt"><span><br/></span></div><div style="margin-bottom:0.08pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:125%">Item 9.01 - Financial Statements and Exhibits</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(d) Exhibits</span></div><div><span><br/></span></div><div style="margin-bottom:6pt"><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:9.614%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.734%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:86.252%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 2.5pt;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:125%;text-decoration:underline">Exhibit No.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt 2px 74.5pt;text-align:left;text-indent:-72.01pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%;text-decoration:underline">Description</span></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 2.5pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%">99.1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div style="margin-bottom:0.08pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%;text-decoration:underline" href="exhibit991-q42024earningsr.htm">News release, dated </a><a style="-sec-extract:exhibit;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%;text-decoration:underline" href="exhibit991-q42024earningsr.htm">February 12</a><a style="-sec-extract:exhibit;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%;text-decoration:underline" href="exhibit991-q42024earningsr.htm">, 202</a><a style="-sec-extract:exhibit;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%;text-decoration:underline" href="exhibit991-q42024earningsr.htm">5</a><a style="-sec-extract:exhibit;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%;text-decoration:underline" href="exhibit991-q42024earningsr.htm">, by Cognex Corporation with respect to financial results for the quarter</a><a style="-sec-extract:exhibit;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%;text-decoration:underline" href="exhibit991-q42024earningsr.htm"> and year</a><a style="-sec-extract:exhibit;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%;text-decoration:underline" href="exhibit991-q42024earningsr.htm"> ended </a><a style="-sec-extract:exhibit;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%;text-decoration:underline" href="exhibit991-q42024earningsr.htm">December 31</a><a style="-sec-extract:exhibit;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%;text-decoration:underline" href="exhibit991-q42024earningsr.htm">, 202</a><a style="-sec-extract:exhibit;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%;text-decoration:underline" href="exhibit991-q42024earningsr.htm">4</a><a style="-sec-extract:exhibit;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:125%;text-decoration:underline" href="exhibit991-q42024earningsr.htm"> (furnished herewith)</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:0.9pt;padding-right:1.85pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">104</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:0.9pt;padding-right:1.9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cover Page Interactive Data File (the cover page XBRL tags are embedded within the Inline XBRL document)</span></div></td></tr></table></div><div style="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-bottom:0.08pt"><span><br/></span></div></div></div><div id="i5a6950bc4a9249a3ae42fece1a21f784_10"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="margin-bottom:0.08pt"><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SIGNATURE</span></div><div style="text-align:center"><span><br/></span></div><div><span style="color:#000000;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, as amended, the Registrant has duly caused this report to be signed on its behalf by the undersigned hereunto duly authorized on this 12th day of February, 2025.</span></div><div><span><br/></span></div><div style="margin-bottom:0.08pt"><span><br/></span></div><div style="margin-bottom:0.08pt"><span><br/></span></div><div style="margin-bottom:6pt;text-align:right"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:48.660%"><tr><td style="width:1.0%"/><td style="width:13.273%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:84.527%"/><td style="width:0.1%"/></tr><tr><td colspan="6" style="padding:2px 1pt 2px 2pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:125%">COGNEX CORPORATION</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:1pt;padding-right:1.75pt"><span style="color:#000000;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 2px 2pt;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:125%">/s/ Dennis Fehr</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:1pt;padding-right:1.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Name:</span></div></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt 2px 2pt;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:125%">Dennis Fehr</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:1pt;padding-right:1.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Title:</span></div></td><td colspan="3" style="padding:2px 1pt 2px 2pt;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:125%">Senior Vice President of Finance and Chief Financial Officer<br/></span></td></tr></table></div><div style="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="margin-bottom:0.08pt"><span><br/></span></div></div></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-99.1
<SEQUENCE>2
<FILENAME>exhibit991-q42024earningsr.htm
<DESCRIPTION>EX-99.1
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2025 Workiva -->
<title>Document</title></head><body><div id="i5a079927399c4cdc92fbe7683bdeab08_1"></div><div style="min-height:54pt;width:100%"><div style="text-align:right"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 99.1</font></div></div><div><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:16pt;font-weight:700;line-height:131%">Cognex Reports Fourth Quarter 2024 Results</font></div><div><font><br></font></div><div style="text-align:justify"><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February 12, 2025&#8213;NATICK, MA&#8212;Cognex Corporation (NASDAQ&#58; CGNX) today reported financial results for the fourth quarter and full year 2024. Table 1 below shows selected financial data for Q4-24 and the full year 2024 compared with Q4-23 and the full year 2023</font><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">.</font></div><div><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8220;Cognex delivered strong results in the fourth quarter, with revenue at the high end of our guidance range.  Growth was driven by continued momentum in our Logistics and Semiconductor businesses, including accelerated demand late in the quarter. Across most of our other factory automation end markets, demand remains soft but stable, while Automotive remains very weak,&#34; said Robert J. Willett, CEO.</font></div><div><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Mr. Willett added, &#8220;Cognex continues to define the leading edge of technology in industrial machine vision. Powerful AI models are making our advanced technology easier to use, enabling us to improve our customers' experience and address many more use cases. We recently launched VisionPro Deep Learning 4.0, Cognex's first product to utilize next-generation AI Transformer models, and our new AI-driven DataMan series, our most powerful and easiest-to-use ID readers yet.&#34;</font></div><div><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition to Mr. Willett's comments, Dennis Fehr, CFO, stated, &#8220;Revenue growth coupled with cost discipline and working capital efficiencies led to above-guidance adjusted EBITDA margin, with year-on-year expansion of 580 basis points, and strong free cash flow generation of $49 million. We were pleased to return $57 million in capital to shareholders during the quarter.&#34;</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:110%;text-decoration:underline">Table 1</font></div><div style="margin-bottom:7pt;text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:110%">(Dollars in millions, except per share amounts)</font></div><div><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><td style="width:27.585%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.156%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.562%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.278%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.562%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.562%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.675%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.562%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.675%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.562%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.484%"></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:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:112%">Current Quarter<br>Q4-24</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:112%">Prior Year Quarter Q4-23</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:112%"><br></font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:112%">Y&#47;Y Change</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:112%">Current Year 2024</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:112%">Prior Year 2023</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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:112%">Y&#47;Y Change</font></td></tr><tr><td colspan="3" style="background-color:#f2f2f2;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">Revenue</font></td><td colspan="3" style="background-color:#f2f2f2;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">$230</font></td><td colspan="3" style="background-color:#f2f2f2;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#f2f2f2;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">$197</font></td><td colspan="3" style="background-color:#f2f2f2;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#f2f2f2;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">+17%</font></td><td colspan="3" style="background-color:#f2f2f2;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#f2f2f2;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">$915</font></td><td colspan="3" style="background-color:#f2f2f2;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#f2f2f2;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">$838</font></td><td colspan="3" style="background-color:#f2f2f2;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#f2f2f2;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">+9%</font></td></tr><tr style="height:6pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#f2f2f2;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">Operating Income</font></td><td colspan="3" style="background-color:#f2f2f2;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">$31</font></td><td colspan="3" style="background-color:#f2f2f2;padding:0 1pt"></td><td colspan="3" style="background-color:#f2f2f2;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">$13</font></td><td colspan="3" style="background-color:#f2f2f2;padding:0 1pt"></td><td colspan="3" style="background-color:#f2f2f2;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">+142%</font></td><td colspan="3" style="background-color:#f2f2f2;padding:0 1pt"></td><td colspan="3" style="background-color:#f2f2f2;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">$115</font></td><td colspan="3" style="background-color:#f2f2f2;padding:0 1pt"></td><td colspan="3" style="background-color:#f2f2f2;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">$131</font></td><td colspan="3" style="background-color:#f2f2f2;padding:0 1pt"></td><td colspan="3" style="background-color:#f2f2f2;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">-12%</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:180%">% of Revenue</font></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:180%">13.4%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:180%">6.5%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:180%">+690 bps</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:180%">12.6%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:180%">15.6%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:180%">(300) bps</font></td></tr><tr style="height:6pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#f2f2f2;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">Adjusted EBITDA*</font></td><td colspan="3" style="background-color:#f2f2f2;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">$42</font></td><td colspan="3" style="background-color:#f2f2f2;padding:0 1pt"></td><td colspan="3" style="background-color:#f2f2f2;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">$25</font></td><td colspan="3" style="background-color:#f2f2f2;padding:0 1pt"></td><td colspan="3" style="background-color:#f2f2f2;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">+71%</font></td><td colspan="3" style="background-color:#f2f2f2;padding:0 1pt"></td><td colspan="3" style="background-color:#f2f2f2;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">$156</font></td><td colspan="3" style="background-color:#f2f2f2;padding:0 1pt"></td><td colspan="3" style="background-color:#f2f2f2;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">$155</font></td><td colspan="3" style="background-color:#f2f2f2;padding:0 1pt"></td><td colspan="3" style="background-color:#f2f2f2;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">+1%</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:180%">% of Revenue</font></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:180%">18.5%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:180%">12.6%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:180%">+580 bps</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:180%">17.1%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:180%">18.5%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:180%">(140) bps</font></td></tr><tr style="height:6pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#f2f2f2;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">Net Income per Diluted Share</font></td><td colspan="3" style="background-color:#f2f2f2;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">$0.16</font></td><td colspan="3" style="background-color:#f2f2f2;padding:0 1pt"></td><td colspan="3" style="background-color:#f2f2f2;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">$0.07</font></td><td colspan="3" style="background-color:#f2f2f2;padding:0 1pt"></td><td colspan="3" style="background-color:#f2f2f2;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">+153%</font></td><td colspan="3" style="background-color:#f2f2f2;padding:0 1pt"></td><td colspan="3" style="background-color:#f2f2f2;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">$0.62</font></td><td colspan="3" style="background-color:#f2f2f2;padding:0 1pt"></td><td colspan="3" style="background-color:#f2f2f2;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">$0.65</font></td><td colspan="3" style="background-color:#f2f2f2;padding:0 1pt"></td><td colspan="3" style="background-color:#f2f2f2;padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">-6%</font></td></tr><tr style="height:6pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">Adjusted EPS (Diluted)*</font></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">$0.20</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">$0.11</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">+84%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">$0.74</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">$0.73</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:180%">0%</font></td></tr></table></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Note&#58; Numbers shown may not foot due to rounding.</font></div><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:112%">*Adjusted EBITDA and Adjusted EPS (Diluted) include Non-GAAP adjustments. A reconciliation from GAAP to Non-GAAP metrics is provided in this news release.</font></div><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font><br></font></div><div id="i5a079927399c4cdc92fbe7683bdeab08_121"></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Details of the Quarter</font></div><div style="text-align:center"><font><br></font></div><div style="text-align:justify"><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Statement of Operations Highlights &#8211; Fourth Quarter of 2024</font></div><div style="padding-left:18pt;text-align:justify"><font><br></font></div><div style="padding-left:18pt;text-indent:-18pt"><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Revenue grew by 17% from Q4-23. Excluding the 5 percentage point contribution to revenue growth from Moritex, revenue increased by 12%. The year-on-year increase in revenue excluding Moritex was driven by continued strength in our Logistics and Semiconductor businesses, including accelerated demand late in the quarter. This growth was partially offset by continued weakness in Automotive.  </font></div><div style="padding-left:18pt;text-align:justify"><font><br></font></div><div style="padding-left:18pt;text-align:justify;text-indent:-18pt"><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Gross margin of 68.7% was flat compared to Q4-23. We recorded $2 million in amortization of intangible assets and other acquisition charges in cost of revenue in Q4-24, primarily related to the </font></div><div style="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:54pt;width:100%"><div><font><br></font></div></div><div style="padding-left:18pt;text-align:justify"><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Moritex acquisition. Adjusted gross margin was 69.4% for Q4-24 compared to 70.7% for Q4-23. The year-on-year decline was primarily driven by the dilution effect from Moritex as well as negative mix, and, to a lesser extent, pricing.</font></div><div style="text-align:justify"><font><br></font></div><div style="padding-left:18pt;text-align:justify;text-indent:-18pt"><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Operating expenses of $127 million increased by 4% from Q4-23. Adjusted operating expenses of $122 million in Q4-24 increased by 3% from Q4-23. The year-on-year increase was driven by Moritex operating expenses, investment in our sales transformation, and incentive compensation, partly offset by lower overall headcount and tight cost management.</font></div><div><font><br></font></div><div style="padding-left:18pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Net income of $28 million in Q4-24 increased by 152% from Q4-23. Adjusted net income of $35 million in Q4-24 increased by 84% from Q4-23. The year-on-year increase in adjusted net income was driven by revenue growth excluding Moritex, the contribution from Moritex and leverage on our operating expenses.</font></div><div style="text-align:center"><font><br></font></div><div id="i5a079927399c4cdc92fbe7683bdeab08_4"></div><div style="margin-top:6pt;text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Details of the Year</font></div><div><font><br></font></div><div><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Statement of Operations Highlights &#8211; Full Year 2024</font></div><div><font><br></font></div><div style="padding-left:22.5pt;text-indent:-22.5pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:19pt">Revenue grew by 9% in 2024, or 1% excluding Moritex. Our Logistics and Semiconductor businesses exhibited strong growth throughout the year. Factory automation businesses such as Consumer Goods and Food and Beverage stabilized, while Automotive weakened during the year, with a significant decline in the EV battery business.</font></div><div><font><br></font></div><div style="padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Gross margin was 68.4% for the full year compared to 71.8% in 2023. Adjusted gross margin of 69.3% declined from 72.5% in 2023. The year-on-year decline was due to the addition of Moritex, unfavorable revenue mix, and, to a lesser extent, pricing.</font></div><div><font><br></font></div><div style="padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Operating expenses increased 9% year-on-year. Adjusted operating expenses increased by 6% year-on-year due to the addition of Moritex and investment in our sales transformation and expansion. This was partially offset by tight cost management, with year-end headcount down 3% year-on-year.</font></div><div><font><br></font></div><div style="padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Operating margin declined to 12.6% from 15.6% in 2023. Adjusted operating margin was 14.9%, down from 16.4% in 2023.  Adjusted EBITDA margin of 17.1% was down from 18.5% in 2023. The step-down was primarily due to the decline in gross margin and investment in our sales transformation. </font></div><div><font><br></font></div><div style="padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Net income and diluted earnings per share both declined by 6% year-on-year. Adjusted net income and adjusted diluted earnings per share were both flat year-on-year as the contribution from Moritex offset softness in factory automation. Our effective tax rate increased to 19% from 16% in 2023, while our adjusted effective tax rate increased to 17% from 15% in 2023.</font></div><div><font><br></font></div><div><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Balance Sheet and Cash Flow Highlights &#8211; December 31, 2024</font></div><div style="padding-left:18pt;text-align:justify"><font><br></font></div><div style="padding-left:18pt;text-align:justify;text-indent:-18pt"><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8226;</font><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:14.5pt">Cognex&#8217;s financial position as of December 31, 2024</font><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:112%"> </font><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">continued to be strong, with $587 million in cash and investments and no debt.</font></div><div><font><br></font></div><div style="padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:14.5pt">In Q4-24, Cognex generated $51 million of cash from operating activities and $49 million in free cash flow, a $37 million and $42 million improvement year-on-year, respectively.</font></div><div><font><br></font></div><div style="padding-left:18pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:14.5pt">The company spent $43 million to repurchase its common stock and paid $14 million in dividends to shareholders. Cognex intends to continue to repurchase shares of its common stock pursuant to its existing stock repurchase program, subject to market conditions and other relevant factors.</font></div><div><font><br></font></div><div style="text-align:justify"><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial Outlook &#8211; First Quarter of 2025</font></div><div><font><br></font></div><div style="padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:14.5pt">Cognex expects revenue to be between $200 million and $220 million. At the midpoint, this represents a similar revenue level year-on-year, driven by expected growth in Logistics and </font></div><div style="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:54pt;width:100%"><div><font><br></font></div></div><div style="padding-left:18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Semiconductor, offset by weaker Automotive and a $5 million FX headwind. The expected sequential step-down is driven by the acceleration in demand from customers in Q4 and an anticipated $4 million FX headwind.</font></div><div style="padding-left:18pt"><font><br></font></div><div style="padding-left:18pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Adjusted gross margin</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">1</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> is expected to be in the high 60 percent range.</font></div><div><font><br></font></div><div style="padding-left:18pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Adjusted EBITDA margin</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">1</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> is expected to be between 12% and 15%. This represents a 150 basis point increase year-on-year at the midpoint driven by continued tight management of operating expenses.</font></div><div style="text-align:justify"><font><br></font></div><div style="padding-left:18pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">The adjusted effective tax rate</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">1</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> is expected to be 16%.</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">1</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cognex has provided the forward-looking non-GAAP measures of adjusted gross margin, adjusted EBITDA margin, and adjusted effective tax rate, but cannot, without unreasonable effort, forecast such items to present or provide a reconciliation to corresponding forecasted GAAP measures. These include special items such as restructuring charges, acquisition and integration charges, and amortization of acquisition-related intangible assets, all of which are subject to limitations in predictability of timing, ultimate outcome and numerous conditions outside of Cognex&#8217;s control. Additionally, these items are outside of Cognex&#8217;s normal business operations and not used by management to assess Cognex&#8217;s operating results. Cognex believes these limitations would result in a range of projected values so broad as to not be meaningful to investors. For these reasons, Cognex believes that the probable significance of such information is low. Information with respect to special items for certain historical periods is included in the section entitled &#8220;Reconciliation of Selected Items From GAAP to Non-GAAP&#8221;.</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:180%">Analyst Conference Call and Simultaneous Webcast</font></div><div style="text-align:justify"><font><br></font></div><div style="padding-left:18pt;text-align:justify;text-indent:-18pt"><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Cognex will host a conference call on February 13, 2025 at 8&#58;30 a.m. Eastern Standard Time (EST). The telephone number is (877) 704-4573 (or (201) 389-0911 if outside the United States). </font></div><div style="padding-left:18pt;text-align:justify;text-indent:-18pt"><font><br></font></div><div style="padding-left:18pt;text-align:justify;text-indent:-18pt"><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</font><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">A real-time audio broadcast of the conference call or an archived recording, together with a slide presentation, will be accessible on the Events &#38; Presentations page of the Cognex Investor website&#58;</font><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%"> </font><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">www.cognex.com&#47;investor.</font><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">  </font></div><div style="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><div id="i5a079927399c4cdc92fbe7683bdeab08_7"></div><hr style="page-break-after:always"><div style="min-height:54pt;width:100%"><div><font><br></font></div></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:139%">COGNEX CORPORATION</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:139%">CONSOLIDATED BALANCE SHEETS</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(in thousands)</font></div><div style="text-align:center"><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><td style="width:71.560%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.206%"></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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">December 31, 2023</font></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">ASSETS</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Current assets&#58;</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash and cash equivalents</font></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">186,094</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">202,655&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Current investments, amortized cost of $60,725 and $132,799 in 2024 and 2023, respectively, allowance for credit losses of $0 in 2024 and 2023</font></div></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">59,956</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">129,392&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts receivable, allowance for credit losses of $827 and $583 in 2024 and 2023, respectively</font></div></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">143,359</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">114,164&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Unbilled revenue</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">3,055</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,402&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Inventories</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">157,527</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">162,285&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">63,376</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">68,099&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total current assets</font></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">613,367</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">678,997&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Non-current investments, amortized cost of $345,033 and $250,790 in 2024 and 2023, respectively, allowance for credit losses of $0 in 2024 and 2023</font></div></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">340,898</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">244,230&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Property, plant, and equipment, net</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">98,445</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">105,849&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating lease assets</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">67,326</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">75,115&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Goodwill</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">384,937</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">393,181&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Intangible assets, net</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">90,684</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,952&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred income taxes</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">392,166</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400,400&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other assets</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">5,027</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,088&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total assets</font></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">1,992,850</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,017,812&#160;</font></td><td style="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="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><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">LIABILITIES AND SHAREHOLDERS&#8217; EQUITY</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Current liabilities&#58;</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts payable</font></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">38,046</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,454&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued expenses</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">71,760</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">72,374&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued income taxes</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">25,685</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16,907&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred revenue and customer deposits</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">25,035</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,525&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating lease liabilities</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">8,854</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,624&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total current liabilities</font></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">169,380</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">151,884&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Non-current operating lease liabilities</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">61,363</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">68,977&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred income taxes</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">217,155</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">246,877&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Reserve for income taxes</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">26,365</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,685&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Non-current accrued income taxes</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#8212;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,338&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other liabilities</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">1,082</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">299&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities</font></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">475,345</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">513,060&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commitments and contingencies</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Shareholders&#8217; equity&#58;</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Preferred stock, $0.01 par value - Authorized&#58; 400 shares in 2024 and 2023, respectively, no shares issued and outstanding</font></div></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#8212;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Common stock, $0.002 par value &#8211; Authorized&#58; 300,000 shares in 2024 and 2023, respectively, issued and outstanding&#58; 170,434 and 171,599 shares in 2024 and 2023, respectively</font></div></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">341</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">343&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Additional paid-in capital</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">1,090,638</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,037,202&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Retained earnings</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">499,303</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">512,543&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accumulated other comprehensive loss, net of tax</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(72,777)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(45,336)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total shareholders&#8217; equity</font></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">1,517,505</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,504,752&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities and shareholders' equity</font></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</font></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">1,992,850</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,017,812&#160;</font></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;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="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><div id="i5a079927399c4cdc92fbe7683bdeab08_10"></div><hr style="page-break-after:always"><div style="min-height:54pt;width:100%"><div><font><br></font></div></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:139%">COGNEX CORPORATION</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:139%">CONSOLIDATED STATEMENT OF OPERATIONS</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:139%">(Unaudited)</font></div><div style="margin-bottom:5pt;text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:139%"> (In thousands, except per share amounts)</font></div><div><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><td style="width:39.168%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.309%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.471%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.712%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:0.1%"></td><td style="width:0.336%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.309%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.336%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.309%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.336%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.314%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three-months Ended</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Twelve-months Ended</font></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2024</font></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">September 29, 2024</font></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">December 31, 2023</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2024</font></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">December 31, 2023</font></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenue</font></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">229,684</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">234,742&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">196,670&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">914,515</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">837,547&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenue (1)</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">71,825</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">75,343&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">61,626&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">288,721</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">236,306&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross profit</font></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">157,859</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">159,399&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">135,044&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">625,794</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">601,241&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">Percentage of revenue</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%">68.7</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">67.9&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">68.7&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%">68.4</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">71.8&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research, development, and engineering expenses (1)</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">32,538</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35,210&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34,693&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">139,815</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">139,400&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7.77pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">Percentage of revenue</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%">14.2</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">15.0&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">17.6&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%">15.3</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">16.6&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general, and administrative expenses (1)</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">94,481</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">92,625&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">90,372&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">370,914</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">339,139&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7.77pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">Percentage of revenue</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%">41.1</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">39.5&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">46.0&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%">40.6</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">40.5&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Loss (recovery) from fire</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#8212;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2,750)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#8212;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(8,000)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating income</font></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">30,840</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,564&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,729&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">115,065</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">130,702&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7.77pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">Percentage of revenue</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%">13.4</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">13.4&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">6.5&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%">12.6</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">15.6&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign currency gain (loss)</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">445</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,221&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(129)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">1,531</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(10,039)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Investment income</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">4,174</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,561&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,520&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">13,971</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,093&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other income (expense)</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">341</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">209&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">234&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">922</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">592&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income before income tax expense</font></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">35,800</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36,555&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,354&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">131,489</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">135,348&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income tax expense</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">7,454</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,964&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,125&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">25,318</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">22,114&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income</font></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">28,346</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">29,591&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,229&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">106,171</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">113,234&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7.77pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">Percentage of revenue</font></td><td colspan="2" style="border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%">12.3</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">12.6&#160;</font></td><td style="border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">5.7&#160;</font></td><td style="border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%">11.6</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">13.5&#160;</font></td><td style="border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income per weighted-average common and common-equivalent share&#58;</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Basic</font></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">0.17</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.17&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.07&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">0.62</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.66&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Diluted</font></td><td style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</font></td><td style="border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">0.16</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.17&#160;</font></td><td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.07&#160;</font></td><td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</font></td><td style="border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">0.62</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.65&#160;</font></td><td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:9pt"><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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><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><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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average common and common-equivalent shares outstanding&#58;</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Basic</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">171,282</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">171,519&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">171,771&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">171,438</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">172,249&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Diluted</font></td><td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">172,508</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">172,753&#160;</font></td><td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">172,571&#160;</font></td><td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">172,611</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">173,399&#160;</font></td><td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><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><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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash dividends per common share</font></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">0.080</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.075&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.075&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">0.305</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.286&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:14pt"><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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><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><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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"><div style="margin-bottom:1.5pt;margin-top:2.65pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;</font></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1) Amounts include stock-based compensation expense, as follows&#58;</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenue</font></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">506</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">442&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">482&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">1,966</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,979&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research, development, and engineering</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2,992</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,707&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,823&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">14,628</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16,480&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general, and administrative</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">9,578</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,952&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,945&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">35,849</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36,309&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total stock-based compensation expense</font></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">13,076</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,101&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,250&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">52,443</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">54,768&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:8pt"><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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><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><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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div><font><br></font></div><div><font><br></font></div><div style="text-align:center"><font><br></font></div><div style="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><div id="i5a079927399c4cdc92fbe7683bdeab08_13"></div><hr style="page-break-after:always"><div style="min-height:54pt;width:100%"><div><font><br></font></div></div><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Non-GAAP Financial Measures</font></div><div style="padding-left:18pt"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">This press release includes certain non-GAAP financial measures, including adjusted gross margin, adjusted operating expense, adjusted operating income, adjusted EBITDA, adjusted net income, adjusted earnings per share of common stock, diluted, adjusted effective tax rate, and free cash flow. Cognex defines its non-GAAP metrics as follows&#58;</font></div><div><font><br></font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Adjusted gross margin</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#58; Gross margin adjusted for amortization of acquisition-related intangible assets, as well as, if applicable, restructuring charges, reorganization charges, acquisition and integration costs and one-time discrete events, such as </font><font style="color:#222222;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">loss or recovery related to a fire. </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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#222222;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Adjusted operating expense</font><font style="color:#222222;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#58; Operating expense adjusted for </font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">amortization of acquisition-related intangible assets, as well as, if applicable, restructuring charges, reorganization charges, acquisition and integration costs and one-time discrete events, such as </font><font style="color:#222222;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">loss or recovery related to a fire. </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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#222222;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Adjusted operating income</font><font style="color:#222222;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#58; Operating income adjusted for </font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">amortization of acquisition-related intangible assets, as well as, if applicable, restructuring charges, reorganization charges, acquisition and integration costs and one-time discrete events, such as </font><font style="color:#222222;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">loss or recovery related to a fire.</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#222222;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Adjusted EBITDA</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#58; </font><font style="color:#222222;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating income adjusted for </font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">amortization of acquisition-related intangible assets and depreciation, as well as, if applicable, restructuring charges, reorganization charges, acquisition and integration costs and one-time discrete events, such as </font><font style="color:#222222;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">loss or recovery related to a fire.</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#222222;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Adjusted net income&#58; </font><font style="color:#222222;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income adjusted for </font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">amortization of acquisition-related intangible assets, as well as, if applicable, restructuring charges, reorganization charges, acquisition and integration costs, discrete tax items, and one-time discrete events, such as </font><font style="color:#222222;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">loss or recovery related to a fire or a foreign currency (gain) loss on a forward contract to hedge the Moritex purchase price.</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Adjusted earnings per share of common stock, diluted&#58;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Adjusted net income divided by diluted weighted average common and common-equivalent shares.</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#222222;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Adjusted effective tax rate&#58;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Effective tax rate adjusted for discrete tax items and the net impact of the other non-GAAP adjustments.</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#222222;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Free cash flow&#58;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Cash provided by operating activities less cash for capital expenditures.</font></div><div><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cognex may disclose results on a constant-currency basis as one measure to evaluate its performance and compare results between periods as if the exchange rates had remained constant period-over-period. </font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cognex believes these non-GAAP financial measures are helpful because they allow investors to more accurately compare results over multiple periods using the same methodology that management employs in its budgeting process, in its review of operating results, and for forecasting and planning for future periods. Cognex&#8217;s definitions may differ from the definitions used by other companies and therefore comparability may be limited. In addition, other companies may not publish these or similar metrics. Furthermore, these measures have certain limitations in that they do not include the impact of certain non-recurring expenses that are reflected in our consolidated statement of operations that are necessary to run our business. Thus, our non-GAAP financial measures should be considered in addition to, not as substitutes for, or in isolation from, measures prepared in accordance with GAAP.</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Please see the section &#8220;Reconciliation of Selected Items from GAAP to Non-GAAP&#8221; below for more detailed information regarding non-GAAP financial measures herein, including the items reflected in our adjusted financial metrics and a description of these adjustments.</font></div><div style="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><div id="i5a079927399c4cdc92fbe7683bdeab08_16"></div><hr style="page-break-after:always"><div style="min-height:54pt;width:100%"><div><font><br></font></div></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">COGNEX CORPORATION</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">RECONCILIATION OF SELECTED ITEMS FROM GAAP TO NON-GAAP</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Dollars in thousands, except per share amounts (Unaudited)</font></div><div style="padding-right:-22.5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.156%"><tr><td style="width:1.0%"></td><td style="width:54.219%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.410%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.331%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:7.410%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.331%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.410%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.331%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.410%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.331%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.417%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three-months Ended</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Twelve-months Ended</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2024</font></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">September 29, 2024</font></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31, 2023</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2024</font></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">December 31, 2023</font></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Gross profit (GAAP)</font></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">157,859</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">159,399&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">135,044&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">625,794</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">601,241&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Acquisition and integration costs</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">213</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">281&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2,882&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2,295</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2,882&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Amortization of acquisition-related intangible assets</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">1,360</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">1,640&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">1,126&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">5,817</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2,975&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Reorganization charges</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">18</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">18</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Adjusted gross profit</font></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">159,450</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">161,320&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">139,052&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">633,924</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">607,098&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">GAAP gross margin</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">68.7</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">67.9&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">68.7&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">68.4</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">71.8&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Adjusted gross margin</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">69.4</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">68.7&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">70.7&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">69.3</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">72.5&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"><div><font><br></font></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Operating expense (GAAP)</font></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">127,019</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">127,835&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">122,315&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">510,729</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">470,539&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(Loss) recovery from fire</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2,750&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">&#8212;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">8,000&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Acquisition and integration costs</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(761)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(962)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(5,101)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(4,229)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(7,080)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Amortization of acquisition-related intangible assets</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(1,132)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(1,746)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(1,053)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(5,601)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(1,635)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Reorganization charges</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(2,972)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(2,972)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Adjusted operating expense</font></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">122,154</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">125,127&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">118,911&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">497,927</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">469,824&#160;</font></td><td style="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="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Operating income (GAAP)</font></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">30,840</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">31,564&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">12,729&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">115,065</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">130,702&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Loss (recovery) from fire</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(2,750)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">&#8212;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(8,000)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Acquisition and integration costs</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">974</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">1,243&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">7,983&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">6,524</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">9,962&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Amortization of acquisition-related intangible assets</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2,492</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">3,386&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2,179&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">11,418</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">4,610&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Reorganization charges</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2,990</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2,990</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Adjusted operating income</font></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">37,296</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">36,193&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">20,141&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">135,997</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">137,274&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">GAAP operating margin</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">13.4</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">13.4&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">6.5&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">12.6</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">15.6&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Adjusted operating margin</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">16.2</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">15.4&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">10.2&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">14.9</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">16.4&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Depreciation (adjusted for amounts included in Acquisition and integration costs)</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">5,139</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">5,027&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">4,713&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">20,393</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">17,270&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Adjusted EBITDA</font></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">42,435</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">41,220&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">24,854&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">156,390</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">154,544&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Adjusted EBITDA margin</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">18.5</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">17.6&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">12.6&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">17.1</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">18.5&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net income (GAAP)</font></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">28,346</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">29,591&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">11,229&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">106,171</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">113,234&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Loss (recovery) from fire</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(2,750)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">&#8212;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(8,000)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Acquisition and integration costs</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">974</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">1,243&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">7,983&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">6,524</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">9,962&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Amortization of acquisition-related intangible assets</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2,492</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">3,386&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2,179&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">11,418</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">4,610&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Foreign currency (gain) loss on forward contract</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">&#8212;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">&#8212;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">8,456&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Reorganization charges</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2,990</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2,990</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Discrete tax (benefit) expense</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2,220</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">889&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">1,498&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">5,731</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2,338&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Tax impact of reconciling items</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(2,008)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(1,176)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(1,134)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(5,571)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(3,207)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Adjusted net income</font></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">35,014</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">33,933&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">19,006&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">127,263</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">127,393&#160;</font></td><td style="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="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Earnings per share of common stock, diluted (GAAP)</font></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">0.16</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.17&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.07&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">0.62</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.65&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Loss (recovery) from fire</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(0.02)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">&#8212;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(0.05)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Acquisition and integration costs</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">0.01</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.01&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.05&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">0.04</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.06&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Amortization of acquisition-related intangible assets</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">0.01</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.02&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.01&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">0.07</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.03&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Foreign currency (gain) loss on forward contract</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">&#8212;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">&#8212;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.05&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Reorganization charges</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">0.02</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">0.02</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Discrete tax (benefit) expense</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">0.01</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.01&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.01&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">0.03</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.01&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Tax impact of reconciling items</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(0.01)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(0.01)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(0.01)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(0.03)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(0.02)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Adjusted earnings per share of common stock, diluted</font></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">0.20</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.20&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.11&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">0.74</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.73&#160;</font></td><td style="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="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:54pt;width:100%"><div><font><br></font></div></div><div style="padding-right:-22.5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.156%"><tr><td style="width:1.0%"></td><td style="width:54.219%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.410%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.331%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:7.410%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.331%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.410%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.331%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.410%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.331%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.417%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Effective tax rate (GAAP)</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">20.8</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">19.1&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">21.8&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">19.3</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">16.3&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Discrete tax benefit (expense)</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(6.2)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(2.4)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(10.4)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(4.4)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(1.7)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net impact of other reconciling items</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2.5</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">1.0&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">1.4&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">1.6</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">0.7&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Adjusted effective tax rate</font></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">17.1</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">17.6&#160;</font></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">12.7&#160;</font></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">16.5</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">%</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">15.3&#160;</font></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">%</font></td></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Cash provided by operating activities (GAAP)</font></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">51,404</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">56,271&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">14,491&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">149,081</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">112,916&#160;</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Capital expenditures</font></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(2,073)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(4,399)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(7,015)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(15,043)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(23,077)</font></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 1.02pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Free cash flow</font></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">49,331</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">51,872&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">7,476&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">134,038</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</font></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">89,839&#160;</font></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><div id="i5a079927399c4cdc92fbe7683bdeab08_19"></div><hr style="page-break-after:always"><div style="min-height:54pt;width:100%"><div><font><br></font></div></div><div><font><br></font></div><div><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Description of adjustments&#58;</font></div><div><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition to reporting financial results in accordance with U.S. GAAP, the Company also provides various non-GAAP measures that incorporate adjustments for the impacts of special items. Adjustments incorporated in the preparation of these non-GAAP measures for the periods presented include the items described below&#58;</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Depreciation&#58;</font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">The company incurs expense related to its normal use of property, plant and equipment.</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Loss (recovery) from fire&#58;</font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">On June 7, 2022, the Company&#8217;s primary contract manufacturer experienced a fire at its plant in Indonesia. During the twelve-month period ended December 31, 2023, the Company recorded recoveries related to the fire of $8,000,000 consisting of $2,500,000 for proceeds received from the Company's insurance carrier in relation to a business interruption claim and $5,500,000 for proceeds received as part of a financial settlement for lost inventory and other losses incurred as a result of the fire. Management does not anticipate additional recoveries.</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Acquisition and integration costs&#58;</font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">The Company has incurred charges related to the purchase and integration of acquired businesses. During the twelve-month period ended December 31, 2024, these costs were primarily related to the ongoing integration of Moritex Corporation.</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Amortization of acquisition-related intangible assets&#58;</font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">The Company excludes the amortization of acquired intangible assets from non-GAAP expense and income measures. These items are inconsistent in amount and frequency and are significantly impacted by the timing and size of acquisitions, and include the amortization of customer relationships, completed technologies, and trademarks that originated from prior acquisitions. The largest driver of intangible asset amortization was the acquisition of Moritex Corporation. </font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Reorganization charges&#58;</font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">The Company has incurred charges related to the reorganization of its employees. During the twelve-month period ended December 31, 2024, these costs consisted primarily of severance.</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Discrete tax (benefit) expense&#58;</font></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">Items unrelated to current period ordinary income or (loss) that generally relate to changes in tax laws, adjustments to prior period&#8217;s actual liability determined upon filing tax returns, adjustments to previously recorded reserves for uncertain tax positions, and establishments and adjustments of valuation allowances.</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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">We estimate the tax effect of items identified in the reconciliation by applying the statutory tax rate to the pre-tax amount. </font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:120%">Certain statements made in this report, as well as oral statements made by the Company from time to time, constitute forward-looking statements within the meaning of Section 27A of the Securities Act of 1933, as amended, and Section 21E of the Exchange Act. Readers can identify these forward-looking statements by our use of the words &#8220;expects,&#8221; &#8220;anticipates,&#8221; &#8220;estimates,&#8221; &#34;potential,&#34; &#8220;believes,&#8221; &#8220;projects,&#8221; &#8220;intends,&#8221; &#8220;plans,&#8221; &#8220;will,&#8221; &#8220;may,&#8221; &#8220;shall,&#8221; &#8220;could,&#8221; &#8220;should,&#8221; &#34;opportunity,&#34; &#34;goal&#34; and similar words and other statements of a similar sense. These statements are based on our current estimates and expectations as to prospective events and circumstances, which may or may not be in our control and as to which there can be no firm assurances given. These forward-looking statements, which include statements regarding business and market trends, future financial performance and financial targets, customer demand and order rates and timing of related revenue, future product or revenue mix, research and development </font></div><div style="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:54pt;width:100%"><div><font><br></font></div></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:120%">activities, sales and marketing activities, new product offerings, innovation and product development activities, customer acceptance of our products, capital expenditures, cost and working capital management activities, investments, liquidity, dividends and stock repurchases, strategic and growth plans and opportunities, acquisitions, and estimated tax benefits and expenses and other tax matters, involve known and unknown risks and uncertainties that could cause actual results to differ materially from those projected. Such risks and uncertainties include&#58; (1) the technological obsolescence of current products and the inability to develop new products&#59; (2) the impact of competitive pressures&#59; (3) the inability to attract and retain skilled employees, effectively plan for succession, and maintain our unique corporate culture&#59; (4) the failure to properly manage the distribution of products and services&#59; (5) economic, political, and other risks associated with international sales and operations, including the impact of trade disputes on the economic climate in China&#59; (6) the challenges in integrating and achieving expected results from acquired businesses&#59; (7) uncertainty surrounding our future capital needs&#59; (8)  information security breaches&#59; (9) the failure to comply with laws or regulations relating to data privacy or data protection&#59; (10) the inability to protect our proprietary technology and intellectual property&#59; (11) the failure to manufacture and deliver products in a timely manner&#59; (12) the inability to obtain, or the delay in obtaining, components for our products at reasonable prices&#59; (13) the inability to design and manufacture high-quality products&#59; (14) the loss of, or curtailment of purchases by, large customers in the logistics, consumer electronics, or automotive industries&#59; (15) challenges in accurately forecasting our financial results due to seasonal and cyclical variations in customer purchasing patterns&#59; (16) potential impairment charges with respect to our investments or acquired intangible assets&#59; (17) exposure to additional tax liabilities, increases and fluctuations in our effective tax rate, and other tax matters&#59; (18) fluctuations in foreign currency exchange rates and the use of derivative instruments&#59; (19) unfavorable global economic conditions, including increases in interest rates and elevated inflation rates&#59; (20) business disruptions from natural or man-made disasters, public health crises, or other events outside our control&#59; (21) exposure to potential liabilities, increased costs, reputational harm, and other adverse effects associated with expectations relating to environmental, social, and governance considerations&#59; (22) stock price volatility&#59; and (23) our involvement in time-consuming and costly litigation or activist shareholder activities. The foregoing list should not be construed as exhaustive and we encourage readers to refer to the detailed discussion of risk factors included in Part I - Item 1A of our Annual Report on Form 10-K. The Company cautions readers not to place undue reliance upon any such forward-looking statements, which speak only as of the date made. The Company disclaims any obligation to subsequently revise forward-looking statements to reflect the occurrence of anticipated or unanticipated events or circumstances after the date such statements are made.</font></div><div style="text-align:justify"><font><br></font></div><div id="i5a079927399c4cdc92fbe7683bdeab08_22"></div><div style="text-align:justify"><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">About Cognex Corporation</font></div><div style="padding-left:18pt;text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#222222;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cognex Corporation (&#8220;the Company&#8221; or &#8220;Cognex&#8221;) invents and commercializes technologies that address some of the most critical manufacturing and distribution challenges. We are a leading global provider of machine vision products and solutions that improve efficiency and quality in high-growth-potential businesses across attractive industrial end markets. Our solutions blend physical products and software to capture and analyze visual information, allowing for the automation of manufacturing and distribution tasks for customers worldwide. Machine vision products are used to automate the manufacturing or distribution and tracking of discrete items, such as mobile phones, electric vehicle batteries and e-commerce packages, by locating, identifying, inspecting, and measuring them. Machine vision is important for applications in which human vision is inadequate to meet requirements for size, accuracy, or speed, or in instances where substantial cost savings or quality improvements are maintained.</font></div><div><font><br></font></div><div style="text-align:justify"><font style="color:#222222;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cognex is the world's leader in the machine vision industry, having shipped more than 4.5 million image-based products, representing over $11 billion in cumulative revenue, since the company's founding in 1981. Headquartered in Natick, Massachusetts, USA, Cognex has offices and distributors located throughout the Americas, Europe, and Asia. For details, visit Cognex online at</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> www.cognex.com</font><font style="color:#222222;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Investor Contacts&#58;</font></div><div style="padding-right:19pt;text-align:justify"><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Nathan McCurren &#8211; Head of Investor Relations and Treasurer</font></div><div><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Jordan Bertier &#8211; Sr. Manager, Investor Relations</font></div><div><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cognex Corporation</font></div><div><font style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ir&#64;cognex.com</font></div><div><font><br></font></div><div><font><br></font></div><div style="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>3
<FILENAME>cgnx-20250212.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2025 Workiva-->
<!--r:79979615-f3b9-4082-9b3e-02db648b1135,g:f0f80bbf-c1c6-4e37-94a2-ffd4a067563d-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:cgnx="http://www.cognex.com/20250212" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.cognex.com/20250212">
  <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="cgnx-20250212_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="cgnx-20250212_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" 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="cgnx-20250212_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
      <link:roleType id="Cover" roleURI="http://www.cognex.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>
      <link:roleType id="DocumentandEntityInformation" roleURI="http://www.cognex.com/role/DocumentandEntityInformation">
        <link:definition>9952151 - Document - Document and Entity Information</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.DEF
<SEQUENCE>4
<FILENAME>cgnx-20250212_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2025 Workiva-->
<!--r:79979615-f3b9-4082-9b3e-02db648b1135,g:f0f80bbf-c1c6-4e37-94a2-ffd4a067563d-->
<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" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member"/>
  <link:roleRef roleURI="http://www.cognex.com/role/DocumentandEntityInformation" xlink:type="simple" xlink:href="cgnx-20250212.xsd#DocumentandEntityInformation"/>
  <link:definitionLink xlink:role="http://www.cognex.com/role/DocumentandEntityInformation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentInformationLineItems_989900f7-0b10-4367-b513-3c402679d609" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentInformationTable_cef5e768-aea5-459f-8d1a-ef4bda666624" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_dei_DocumentInformationLineItems_989900f7-0b10-4367-b513-3c402679d609" xlink:to="loc_dei_DocumentInformationTable_cef5e768-aea5-459f-8d1a-ef4bda666624" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentInformationDocumentAxis_0204afe8-91f2-42c1-a111-981a537e0a80" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationDocumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_dei_DocumentInformationTable_cef5e768-aea5-459f-8d1a-ef4bda666624" xlink:to="loc_dei_DocumentInformationDocumentAxis_0204afe8-91f2-42c1-a111-981a537e0a80" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentDomain_0204afe8-91f2-42c1-a111-981a537e0a80_default" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_DocumentInformationDocumentAxis_0204afe8-91f2-42c1-a111-981a537e0a80" xlink:to="loc_dei_DocumentDomain_0204afe8-91f2-42c1-a111-981a537e0a80_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentDomain_8d247f2d-dfe6-4efd-b5d7-bd78eb83f542" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_DocumentInformationDocumentAxis_0204afe8-91f2-42c1-a111-981a537e0a80" xlink:to="loc_dei_DocumentDomain_8d247f2d-dfe6-4efd-b5d7-bd78eb83f542" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey_b432eff0-2aae-4b6e-8d5a-81e6da4487cc" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_989900f7-0b10-4367-b513-3c402679d609" xlink:to="loc_dei_EntityCentralIndexKey_b432eff0-2aae-4b6e-8d5a-81e6da4487cc" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag_5554ea92-611f-4454-a276-fbcaf2dcee8c" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_DocumentInformationLineItems_989900f7-0b10-4367-b513-3c402679d609" xlink:to="loc_dei_AmendmentFlag_5554ea92-611f-4454-a276-fbcaf2dcee8c" xlink:type="arc" order="1"/>
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>5
<FILENAME>cgnx-20250212_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 2025 Workiva-->
<!--r:79979615-f3b9-4082-9b3e-02db648b1135,g:f0f80bbf-c1c6-4e37-94a2-ffd4a067563d-->
<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_2aeec021-421a-4f26-9b1c-da6960a7272f_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_DocumentInformationDocumentAxis_a9259198-77c3-49aa-b300-c23c67430709_terseLabel_en-US" xlink:label="lab_dei_DocumentInformationDocumentAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Information, Document [Axis]</link:label>
    <link:label id="lab_dei_DocumentInformationDocumentAxis_label_en-US" xlink:label="lab_dei_DocumentInformationDocumentAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Information, Document [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentInformationDocumentAxis" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationDocumentAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentInformationDocumentAxis" xlink:to="lab_dei_DocumentInformationDocumentAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_SecurityExchangeName_2948210c-0f9b-455b-99b3-094c830701f2_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_DocumentDomain_f4e8fd09-2e8e-4a85-80a9-7c6bbb3aa369_terseLabel_en-US" xlink:label="lab_dei_DocumentDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document [Domain]</link:label>
    <link:label id="lab_dei_DocumentDomain_label_en-US" xlink:label="lab_dei_DocumentDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentDomain" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentDomain" xlink:to="lab_dei_DocumentDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressCityOrTown_45b44ebd-bdd3-4b9d-a36e-bbbf441bf4f5_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_cec59eca-787b-4b90-ab26-601043aa5431_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_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_CityAreaCode_ce3119b9-02b1-4e77-9c96-569cceb18197_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_AmendmentFlag_1dbf899a-f9ab-4690-b333-b4769ff4dbb1_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_74b593f1-0cf7-4020-9af3-5a6bf7efe544_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_a66d7747-8dff-4e67-9117-1ed711f369fc_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_0c3b05b0-91fa-4e06-85c0-1103eb2ac551_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_4f195f12-3e64-4514-acc0-69f4b3ed5cbb_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_EntityEmergingGrowthCompany_8f8c9ae7-7ce4-4a23-ae86-a134afba34f3_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:label id="lab_dei_EntityCentralIndexKey_a55122fc-655f-46ed-b048-d313b174eca0_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_09f65bef-edb7-41d7-b442-d18b00b1ed99_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_0c37a588-99c1-4583-ad18-8d17214fe6d5_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_PreCommencementIssuerTenderOffer_5478c058-959d-40fc-bfea-e027c16fca65_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_DocumentInformationLineItems_9f64e54b-86da-4760-b126-6048c4c1d46e_terseLabel_en-US" xlink:label="lab_dei_DocumentInformationLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Information [Line Items]</link:label>
    <link:label id="lab_dei_DocumentInformationLineItems_label_en-US" xlink:label="lab_dei_DocumentInformationLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Information [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentInformationLineItems" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentInformationLineItems" xlink:to="lab_dei_DocumentInformationLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentInformationTable_8871d9af-f898-490e-a243-e21899c0c7f5_terseLabel_en-US" xlink:label="lab_dei_DocumentInformationTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Information [Table]</link:label>
    <link:label id="lab_dei_DocumentInformationTable_label_en-US" xlink:label="lab_dei_DocumentInformationTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Information [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentInformationTable" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentInformationTable" xlink:to="lab_dei_DocumentInformationTable" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressAddressLine1_6f2198e5-b559-4759-ab63-786a56dc2c83_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_EntityAddressPostalZipCode_daeb7105-f9da-41af-a5f5-be1cf6ba910d_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_WrittenCommunications_ccf46b16-61da-4337-844d-1b6500af4182_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_a15390aa-610d-46f9-8d89-7a3fd5030a21_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_b8c162dc-3627-4bfb-8f57-2195a5f5a4c5_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_DocumentPeriodEndDate_4e7d592d-6e33-44cc-bf5a-e202ba474b68_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_DocumentType_c948e38a-ca78-42e9-9c88-e99d565e8de5_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:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>6
<FILENAME>cgnx-20250212_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 2025 Workiva-->
<!--r:79979615-f3b9-4082-9b3e-02db648b1135,g:f0f80bbf-c1c6-4e37-94a2-ffd4a067563d-->
<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.cognex.com/role/Cover" xlink:type="simple" xlink:href="cgnx-20250212.xsd#Cover"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/Cover" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract_a278ef84-6e83-49c2-a0b3-87c5117663ce" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName_e96f9cd4-b770-45ef-b2d5-d0fd78897cf0" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_a278ef84-6e83-49c2-a0b3-87c5117663ce" xlink:to="loc_dei_EntityRegistrantName_e96f9cd4-b770-45ef-b2d5-d0fd78897cf0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType_45f6829a-8fd4-4cfd-ac47-cff4530e92df" 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_a278ef84-6e83-49c2-a0b3-87c5117663ce" xlink:to="loc_dei_DocumentType_45f6829a-8fd4-4cfd-ac47-cff4530e92df" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate_84fb06cb-19d4-4d1f-933b-ef6e2484605c" 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_a278ef84-6e83-49c2-a0b3-87c5117663ce" xlink:to="loc_dei_DocumentPeriodEndDate_84fb06cb-19d4-4d1f-933b-ef6e2484605c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince_aa74e768-2665-495e-aee1-07b77a286f7d" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_a278ef84-6e83-49c2-a0b3-87c5117663ce" xlink:to="loc_dei_EntityAddressStateOrProvince_aa74e768-2665-495e-aee1-07b77a286f7d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode_cc955731-d649-447d-b8af-a5a4cc0c1d95" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_a278ef84-6e83-49c2-a0b3-87c5117663ce" xlink:to="loc_dei_EntityAddressPostalZipCode_cc955731-d649-447d-b8af-a5a4cc0c1d95" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1_6316d107-3cc7-48a6-a85c-b9418af72933" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_a278ef84-6e83-49c2-a0b3-87c5117663ce" xlink:to="loc_dei_EntityAddressAddressLine1_6316d107-3cc7-48a6-a85c-b9418af72933" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown_7d88245a-b880-44cf-9693-71f7001abd49" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_a278ef84-6e83-49c2-a0b3-87c5117663ce" xlink:to="loc_dei_EntityAddressCityOrTown_7d88245a-b880-44cf-9693-71f7001abd49" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode_85959c68-f21b-43a2-ab87-a2063b729c6a" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_a278ef84-6e83-49c2-a0b3-87c5117663ce" xlink:to="loc_dei_CityAreaCode_85959c68-f21b-43a2-ab87-a2063b729c6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber_aecc2764-f17e-4a59-9b9b-facc12b8a6db" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_a278ef84-6e83-49c2-a0b3-87c5117663ce" xlink:to="loc_dei_LocalPhoneNumber_aecc2764-f17e-4a59-9b9b-facc12b8a6db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode_3861605b-c4ba-4b24-8a66-ec620ccd7aef" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_a278ef84-6e83-49c2-a0b3-87c5117663ce" xlink:to="loc_dei_EntityIncorporationStateCountryCode_3861605b-c4ba-4b24-8a66-ec620ccd7aef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber_808979cd-907c-44ee-8a6e-5be1ebbee4ce" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_a278ef84-6e83-49c2-a0b3-87c5117663ce" xlink:to="loc_dei_EntityFileNumber_808979cd-907c-44ee-8a6e-5be1ebbee4ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber_d0a5434d-e06d-4011-9a91-a2c95ac3d20e" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_a278ef84-6e83-49c2-a0b3-87c5117663ce" xlink:to="loc_dei_EntityTaxIdentificationNumber_d0a5434d-e06d-4011-9a91-a2c95ac3d20e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_WrittenCommunications_36d989d4-572b-4f7f-a7a6-64cb275ab5f8" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_WrittenCommunications"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_a278ef84-6e83-49c2-a0b3-87c5117663ce" xlink:to="loc_dei_WrittenCommunications_36d989d4-572b-4f7f-a7a6-64cb275ab5f8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SolicitingMaterial_62d6210c-3e42-464e-b238-e189bc809c32" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SolicitingMaterial"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_a278ef84-6e83-49c2-a0b3-87c5117663ce" xlink:to="loc_dei_SolicitingMaterial_62d6210c-3e42-464e-b238-e189bc809c32" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_PreCommencementTenderOffer_bae79f1c-42dc-42e5-9be4-e1b0f8655ee3" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementTenderOffer"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_a278ef84-6e83-49c2-a0b3-87c5117663ce" xlink:to="loc_dei_PreCommencementTenderOffer_bae79f1c-42dc-42e5-9be4-e1b0f8655ee3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_PreCommencementIssuerTenderOffer_6bc04cf9-4540-4494-9abe-17e715b26e71" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementIssuerTenderOffer"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_a278ef84-6e83-49c2-a0b3-87c5117663ce" xlink:to="loc_dei_PreCommencementIssuerTenderOffer_6bc04cf9-4540-4494-9abe-17e715b26e71" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle_47a8b295-cb2d-45a3-91fc-e8e43bb757ee" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_a278ef84-6e83-49c2-a0b3-87c5117663ce" xlink:to="loc_dei_Security12bTitle_47a8b295-cb2d-45a3-91fc-e8e43bb757ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol_45c1fefe-5f76-46fb-ad5c-06051f3980a7" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_a278ef84-6e83-49c2-a0b3-87c5117663ce" xlink:to="loc_dei_TradingSymbol_45c1fefe-5f76-46fb-ad5c-06051f3980a7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName_f641efba-7258-471c-be57-3e264e10dfd4" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_a278ef84-6e83-49c2-a0b3-87c5117663ce" xlink:to="loc_dei_SecurityExchangeName_f641efba-7258-471c-be57-3e264e10dfd4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany_a8cda003-9ba9-41ff-9b49-4061bfd6148f" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_a278ef84-6e83-49c2-a0b3-87c5117663ce" xlink:to="loc_dei_EntityEmergingGrowthCompany_a8cda003-9ba9-41ff-9b49-4061bfd6148f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/DocumentandEntityInformation" xlink:type="simple" xlink:href="cgnx-20250212.xsd#DocumentandEntityInformation"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/DocumentandEntityInformation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract_79d0f3ad-4324-4e33-9fe4-87db9033caad" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentInformationTable_cef5e768-aea5-459f-8d1a-ef4bda666624" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_79d0f3ad-4324-4e33-9fe4-87db9033caad" xlink:to="loc_dei_DocumentInformationTable_cef5e768-aea5-459f-8d1a-ef4bda666624" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentInformationDocumentAxis_0204afe8-91f2-42c1-a111-981a537e0a80" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationDocumentAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationTable_cef5e768-aea5-459f-8d1a-ef4bda666624" xlink:to="loc_dei_DocumentInformationDocumentAxis_0204afe8-91f2-42c1-a111-981a537e0a80" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentDomain_8d247f2d-dfe6-4efd-b5d7-bd78eb83f542" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationDocumentAxis_0204afe8-91f2-42c1-a111-981a537e0a80" xlink:to="loc_dei_DocumentDomain_8d247f2d-dfe6-4efd-b5d7-bd78eb83f542" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentInformationLineItems_989900f7-0b10-4367-b513-3c402679d609" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationTable_cef5e768-aea5-459f-8d1a-ef4bda666624" xlink:to="loc_dei_DocumentInformationLineItems_989900f7-0b10-4367-b513-3c402679d609" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey_b432eff0-2aae-4b6e-8d5a-81e6da4487cc" 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_DocumentInformationLineItems_989900f7-0b10-4367-b513-3c402679d609" xlink:to="loc_dei_EntityCentralIndexKey_b432eff0-2aae-4b6e-8d5a-81e6da4487cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag_5554ea92-611f-4454-a276-fbcaf2dcee8c" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationLineItems_989900f7-0b10-4367-b513-3c402679d609" xlink:to="loc_dei_AmendmentFlag_5554ea92-611f-4454-a276-fbcaf2dcee8c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</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.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm45678713047248">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cover<br></strong></div></th>
<th class="th"><div>Feb. 12, 2025</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">Cognex Corporation<span></span>
</td>
</tr>
<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">Feb. 12,  2025<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">MA<span></span>
</td>
</tr>
<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">01760-2059<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">One Vision Drive<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Natick<span></span>
</td>
</tr>
<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">508<span></span>
</td>
</tr>
<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">650-3000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">MA<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-34218<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">04-2713778<span></span>
</td>
</tr>
<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_WrittenCommunications', window );">Written Communications</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_SolicitingMaterial', window );">Soliciting Material</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_PreCommencementTenderOffer', window );">Pre-commencement 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_PreCommencementIssuerTenderOffer', window );">Pre-commencement Issuer 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_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common stock, par value $.002 per share<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">CGNX<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<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_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>XML
<SEQUENCE>9
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm45678713087488">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Document and Entity Information<br></strong></div></th>
<th class="th"><div>Feb. 12, 2025</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentInformationLineItems', window );"><strong>Document Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000851205<span></span>
</td>
</tr>
<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>
</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_DocumentInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentInformationLineItems</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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>10
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( -N$3%H'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    " #;A$Q:!V(8U.\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9)1
M2\,P$,>_BN2]O39U(J'+BV-/"H(#Q;>0W+9@DX;DI-VW-ZU;A^@'\#%W__SN
M=W"M#D+W$9]C'S"2Q70SNLXGH<.:'8F" $CZB$ZE,B=\;N[[Z!3E9SQ 4/I#
M'1!X5=V!0U)&D8()6(2%R&1KM- 1%?7QC#=ZP8?/V,TPHP$[=.@I05W6P.0T
M,9S&KH4K8((11I>^"V@6XES]$SMW@)V38[)+:AB&<FCF7-ZAAK>GQY=YW<+Z
M1,IKS+^2%70*N&:7R:_-PV:W99)7?%54O*CYCM>BN1>KV_?)]8??5=CUQN[M
M/S:^",H6?MV%_ )02P,$%     @ VX1,6IE<G",0!@  G"<  !,   !X;"]T
M:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M
M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R
M>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2P]R"BPA+>!3+
MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,!
M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K
MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2
MBW <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_KFVB<"HU;3]-K
M=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K>A(5M>5 TR
M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$
MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7<K_WUE[O)I#-ZG7TZSFN4
M?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R.AQG0GS/]O:1
MI24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG LR+7E$8D19_(
M+;KD$3BU20TR$S\(G8:8:E < J0),9:AAOBTQJP1X!-]M[X(R-^-B/>K;YH]
M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M
MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZ<TT#PE"\D^DJ1CVFS(Z=T)LWH
M,QK!1J\;=8=HTCQZ_@7YG#4*')$;'0)G&[-&(81IN_ >KR2.FJW"$2M"/F(9
M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+
MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T
M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+
M.7\N?<^E[[GT/:'2MS<C?6?!TXM;WD9N6\3[KC':US0N*&-7<LW(QU2ODRG8
M.9_ [/UH/I[Q[?K9)(2OFEDM(Q:02X&S022X_(O*\"K$">AD6R4)RU3393>*
M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W<DOJMI2^M28X
M2O2QS'!.'LL,.V<\DAVV=Z =-?OV77;D(Z4P4Y=#N!I"O@-MNIW<.CB>F)&Y
M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_#
M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0
MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR
ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC
MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYN<KGHB=OJ7
M=\%@\OUPR4</Y3OG7_1=0ZY^]MWC^FZ3.TA,G'G%$0%T10(CE1P&%A<RY%#N
MDI &$P'-E,E$\ *"9*8<@)CZ"[WR#+DI%<ZM/CE_12R#ADY>TB42%(JP# 4A
M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF
M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.'<YMZN,)%K/]8UA[Y,M\Y<-LZW@->
MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_
M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]!
MU4#E/]O4#6CV#30<D05>,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04
M" #;A$Q:;0KY]@$$  !4#P  &    'AL+W=O<FMS:&5E=',O<VAE970Q+GAM
M;)67;6_J-A3'OXJ53=,FE<8)C^T B=+VKMHMEY7NWFG37IC$@-7$SFR'AV^_
MXP )T\*A?0-VXO//S_;QWW9_H_2;67%NR39-I!EX*VNS6]\WT8JGS%RKC$MX
MLU Z91:J>NF;3',6%T%IXH>4=OR4">D-^\6SJ1[V56X3(?E4$Y.G*=.[.YZH
MS< +O..#%[%<6?? '_8SMN0S;G_/IAIJ?JD2BY1+(Y0DFB\&WBBXO0M#%U"T
M^"KXQIR4B>O*7*DW5WF*!QYU1#SAD742#/[6?,R3Q"D!QS\'4:_\I@L\+1_5
M'XO.0V?FS/"Q2KZ)V*X&7L\C,5^P/+$O:O,+/W2H[?0BE9CBEVSV;5LMCT2Y
ML2H]! -!*N3^GVT/ W$:0,\$A(> 8B#\_8<*RGMFV;"OU89HUQK47*'H:A$-
M<$*Z69E9#6\%Q-GA6*VY[OL6I-P#/SJ$W>W#PC-ACWQ^38+PBH0T;/\WW >"
M$B,L,<)"KXEAD+]&<V,U3-3?=41[A5:]@LO>6Y.QB \\2$_#]9I[PQ^^"SKT
M9X2O6?(U,?7A@[3"[L@+7PI'*"V9L)374>(Z8[64?$O&2F=*,Y>7"%RKA&NA
MHO<JRF&A6/*ZRVJ9\/!>XU<$HEU"M-\',>5:J)@\R)A 1M;RX$IE;EU*KDZ)
MUGG/Y(WB&!+#7)&9!2ZB-)EJM18RJF7$)9]'"%>WY.I^B&NJC&4)^5-DD"!Q
M+14N2(-NAS9"VKY!Z'HE7>]#=(<"^0SMR!=9BX<K0A#Y*@H_O]?@Q0CD30EY
M\R'(L:O!S+ZJC:P#Q-4FL"*C-P0KH)6M4GRA%UBP3YZ=R@L";=K#0$[\/4!U
M/JL(<FJZ4C#XDSR=GW%[7*33IHTFI10CJJP^0)WZ.&=/,JI<\&11CE4NK=Z=
M'S=<'5V90>7WP;L,_U$DZ+#A(I0&C68K#-"9K%P^P'WZ@/3*MN0I!J<5"Q$5
M@X<!XI*TU0B[0;/;10FK+2# G?N;%M9R"5.7IKD\T)E:+EQHP1*#V4-067^
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
MNJS.^[5B#_&.7#7M8?I#%U]02P,$%     @ VX1,6HWW+%JT    B0(  !H
M  !X;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<\6230J#,!!&KQ)R@([:TD51
M5]VX+5X@Z/B#T83,E.KM:W6A@2ZZD:["-R'O>S")'Z@5MV:@IK4DQEX/E,B&
MV=X J&BP5W0R%H?YIC*N5SQ'5X-51:=JA"@(KN#V#)G&>Z;()XN_$$U5M07>
M3?'L<> O8'@9UU&#R%+DRM7(B811;V."Y0A/,UF*K$RDR\I0PK^%(D\H.E"(
M>-)(F\V:O?KS@?4\O\6M?8GKT-_)Y>, WL]+WU!+ P04    " #;A$Q:;J<D
MO!X!  !7!   $P   %M#;VYT96YT7U1Y<&5S72YX;6S%E,].PS ,QE^ERG5J
M,G;@@-9=@"OLP N$UEVCYI]B;W1OC]MNDT"C8BH2ET:-[>_G^(NR?CM&P*QS
MUF,A&J+XH!26#3B-,D3P'*E#<IKX-^U4U&6K=Z!6R^6]*H,G\)13KR$VZR>H
M]=Y2]MSQ-IK@"Y' HL@>Q\2>50@=HS6E)HZK@Z^^4?(307+ED(.-B;C@!*&N
M$OK(SX!3W>L!4C(59%N=Z$4[SE*=54A'"RBG):[T&.K:E%"%<N^X1&),H"ML
M ,A9.8HNILG$$X;Q>S>;/\A, 3ESFT)$=BS![;BS)7UU'ED($IGI(UZ(+#W[
M?-"[74'U2S:/]R.D=O #U;#,G_%7CR_Z-_:Q^L<^WD-H__JJ]ZMTVO@S7PWO
MR>834$L! A0#%     @ VX1,6@=!36*!    L0   !               ( !
M     &1O8U!R;W!S+V%P<"YX;6Q02P$"% ,4    " #;A$Q:!V(8U.\    K
M @  $0              @ &O    9&]C4')O<',O8V]R92YX;6Q02P$"% ,4
M    " #;A$Q:F5R<(Q &  "<)P  $P              @ '- 0  >&PO=&AE
M;64O=&AE;64Q+GAM;%!+ 0(4 Q0    ( -N$3%IM"OGV 00  %0/   8
M          " @0X(  !X;"]W;W)K<VAE971S+W-H965T,2YX;6Q02P$"% ,4
M    " #;A$Q:JYTE+ 0"  "L!   &               @(%%#   >&PO=V]R
M:W-H965T<R]S:&5E=#(N>&UL4$L! A0#%     @ VX1,6I^@&_"Q @  X@P
M  T              ( !?PX  'AL+W-T>6QE<RYX;6Q02P$"% ,4    " #;
MA$Q:EXJ[',     3 @  "P              @ %;$0  7W)E;',O+G)E;'-0
M2P$"% ,4    " #;A$Q:N6,*$% !  #' @  #P              @ %$$@
M>&PO=V]R:V)O;VLN>&UL4$L! A0#%     @ VX1,6HWW+%JT    B0(  !H
M             ( !P1,  'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QS4$L!
M A0#%     @ VX1,6FZG)+P> 0  5P0  !,              ( !K10  %M#
G;VYT96YT7U1Y<&5S72YX;6Q02P4&      H "@"$ @  _!4

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<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>12
<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>14
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.25.0.1</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="cgnx-20250212.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>0000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="cgnx-20250212.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>9952151 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/DocumentandEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>2</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="cgnx-20250212.htm">cgnx-20250212.htm</File>
    <File>cgnx-20250212.xsd</File>
    <File>cgnx-20250212_def.xml</File>
    <File>cgnx-20250212_lab.xml</File>
    <File>cgnx-20250212_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="22">http://xbrl.sec.gov/dei/2024</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>16
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "cgnx-20250212.htm": {
   "nsprefix": "cgnx",
   "nsuri": "http://www.cognex.com/20250212",
   "dts": {
    "inline": {
     "local": [
      "cgnx-20250212.htm"
     ]
    },
    "schema": {
     "local": [
      "cgnx-20250212.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"
     ]
    },
    "definitionLink": {
     "local": [
      "cgnx-20250212_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "cgnx-20250212_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "cgnx-20250212_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": 27,
   "unitCount": 0,
   "baseTaxonomies": {
    "http://xbrl.sec.gov/dei/2024": 22
   },
   "report": {
    "R1": {
     "role": "http://www.cognex.com/role/Cover",
     "longName": "0000001 - Document - Cover",
     "shortName": "Cover",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cgnx-20250212.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cgnx-20250212.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://www.cognex.com/role/DocumentandEntityInformation",
     "longName": "9952151 - Document - Document and Entity Information",
     "shortName": "Document and Entity Information",
     "isDefault": "false",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "2",
     "firstAnchor": null,
     "uniqueAnchor": null
    }
   },
   "tag": {
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.cognex.com/role/DocumentandEntityInformation"
     ],
     "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.cognex.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": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentDomain",
     "presentation": [
      "http://www.cognex.com/role/DocumentandEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document [Domain]",
        "label": "Document [Domain]",
        "documentation": "Type of the document as assigned by the filer, corresponding to SEC document naming convention standards."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentInformationDocumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentInformationDocumentAxis",
     "presentation": [
      "http://www.cognex.com/role/DocumentandEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Information, Document [Axis]",
        "label": "Document Information, Document [Axis]",
        "documentation": "The axis of a table defines the relationship between the domain members or categories in the table and the line items or concepts that complete the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentInformationLineItems",
     "presentation": [
      "http://www.cognex.com/role/DocumentandEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Information [Line Items]",
        "label": "Document Information [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentInformationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentInformationTable",
     "presentation": [
      "http://www.cognex.com/role/DocumentandEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Information [Table]",
        "label": "Document Information [Table]",
        "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://www.cognex.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.cognex.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.cognex.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.cognex.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.cognex.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.cognex.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.cognex.com/role/DocumentandEntityInformation"
     ],
     "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.cognex.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.cognex.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.cognex.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.cognex.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.cognex.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.cognex.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.cognex.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.cognex.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.cognex.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.cognex.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.cognex.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.cognex.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.cognex.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>17
<FILENAME>0000851205-25-000010-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0000851205-25-000010-xbrl.zip
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
MZI_CTIZ43FLRG?%K#3GK+^SQ7^E7PXEEC^8P8J9B^I-T^G?LFO\/4$L#!!0
M   ( -N$3%H^:-\$E@(  (H)   1    8V=N>"TR,#(U,#(Q,BYX<V3=55UO
MVC 4?>=7>'F>R1=?04"EM:M4B7VH:[6^34YR$ZP&.[--"?]^ML&#T):-/4WE
M!>?><\Z]]^0JGEPTRPH]@9"4LZD7=@,/ <MX3EDY]>[OKO'(NYAU.I-W&#]\
MN)VC*YZMEL 4NA1 %.1H3=4"J06@[UP\TB>"OE9$%5PL,9Y9VB6O-X*6"X6B
M(.H[F,N*\3!)ALD@[.,B3A/<"T813M(8<!#EZ: W2L,P[K\OQT50C((T+7 6
M9@/<@WB(DQZ)<%'D/1(,AOU!G%O11HYEMH E07HT)L>-G'H+I>JQ[Z_7Z^XZ
M[G)1^E$0A/[#I_DW"_5VV(JRQQ:Z247E\+%OTBF1X.!9R9H6/.,E@T;_+7TS
M;!"%D8>(4H*F*P77VI4K*,BJ4E-OQ7ZN2$4+"KFVO )C:@MPD%9$E* ^DR7(
MFF3PQY*S#D+&![JLN5"(O4ALCT:95(1E>K2M>7.>$65WXE6*><*.ATT(AQ&.
MPVXC<\__AQ[V]I[7@^.=WX,5DY!U2_[DYT"-A;V7R\O7X.: S:%=DS#&E>6;
MR"Y6UY05?!O0(=/XV'5_"X7;V&=KN%O:,$D2WV;U!EHR$9G@%9P&^[7@-0A%
M01ZNL!58""BFGEED[-;G1RV@JSMQD&<%VJ_ I'4%D'J![;SS_4!.0FUJ+2'U
M>ZA@:]'_/'\.Q;GS:PIE]$U,7Y'TW.DU!:HS!S?$.YU'-)]ZEUQ?01XRL?O;
MF]>^;[;6%NJTG-K>_UE@?R'"^[L*(\N:^,?8(Y65A/P+F]GS\4;OR#O("6)&
MJFQ5G<]KK]"+M%W067?"4#<Z8?E'IJC:W#!S)]NN_L[GDPHG[$^2?A3VC^S_
M?=1J:"N'#O3>YHN9^.U/_O;YX%JP@>U=,^O\ E!+ P04    " #;A$Q:P)W_
MV[8#  #>$@  %0   &-G;G@M,C R-3 R,3)?9&5F+GAM;-U8;6_;-A#^[E^A
M:5]W%DE1;T;L(DM:(&@&#%F+]9M!D4=;J%X"B4F<?S]*MA*[=N(U5K=A_F!+
MQ]/=<_<<CR>?O5L5N7./=9-5Y=2E8^(Z6,I*9>5BZG[^] %B]]UL-#K[">#+
MKS?7SF4E[PHLC7-1HS"HG(?,+!VS1.?/JOZ:W0OG]UP87=4%P*Q[[**Z?:RS
MQ=(XC+"@5^M7ZTF4)%$2T@"TGR; 2<P@27T$PE0:\CBEU ]^64PTT3%)4PV2
MRA X^A$D7##06G%!PB@(?=49S;/RZZ3]2D6#C@VO;+K;J;LTYG;B>0\/#^-5
M6N?CJEYXC!#?Z[7=C?IJ3__![[1IDB1>M_JDVF2'%*U9ZGWY[?H/N<1"0%8V
M1I3RV8%UK\S3@]MH F^]:%6;;-)TSU]74IB.H*,A."]JM'?0JT$K LK I^-5
MH]S9R''6F1.UK*L<;U [F\O/-U?[2+/2>"HKO(V.)_+<(NXLF,=;G+I-5MSF
MV,N6->H7T?<AMZ""%L[/K37O9$Q+"Z26=RF"E6+9EOB & ]9/QWSDRU0J,5=
M;@9$O&][4+Q5(;(A$[QG>@"TG2$HL$BQ'A+JCMTMG#W(;Q&V)F6U*'%E?PJO
M ]>W5E&J]Z7)S.-5V?;1;N<?QRH7Y0K:#DL891VH5^UM8;3%D)59*[VVMQNC
M+:*!T.+*8*EPW61ZIWDE=Y3RML553YSD(L6\D\X59O/>V98/BQ6O#!;-/(F3
MA! = 4DI >Z'$:0!]<&7G+ P2E1(DGU>F[Y.&I3C177O63^67,;;BS:1?,WL
M$>_K1 X6U2>1YCB7J .,PA@$B@!XD&B(%16 FJ=*A/;#^- 1=9YWHWDNC/.Z
MCVNSD[[K0-!U5?P +DTU<"K7G-D 7*>J%=9V'K)+W5:?R+QJ4$U=4]_AL[ J
MC:WN]SFVONV^Q$5[,7!-]*+S5=;,"2-<:(PAH9H!9Y*"H)1"$E,1^!$2$9.A
M2V,;P( 5\LKQ?+1BWD#NZ]7RYB0?*IH!^+_L3I2_A63^S:1P$NV76T?M("R_
M.- <Y?CME!R@^H1\_EB&8\5XI)D"I;%]K]'*=CQEVYZ*8DQC7P><_>>9W1G]
M_A5BOR>- Q.Z'G\N+)9:Y%=VTEE]Q,=YRGV&6A-@0B#P-$3;FP(!,<50"<[C
M2,J3>#WH=DAZ#\W*_\!1?GHZ]_DEI_![;D-4;9@?<K&8!T' 420,0DHU<!YP
M$"P*0:=2V/J3B/%IO.ZX^Q_P^?;TO;A/S[P#+RZST4;<_\<Q&_T%4$L#!!0
M   ( -N$3%K7L->:8PL  *=B   5    8V=N>"TR,#(U,#(Q,E]L86(N>&UL
MQ9U=;]LX%H;O^RNTV9M=H*Q)B9+(HLV@F[:+8#-MT*:8P18+@Y^),+84R$J3
M_/NE9#NQ+,D6*5NY21V'/B_?8STZ/+3DOOOM83[S?JE\D63I^Q/T!IYX*A69
M3-+K]R<_KCX#<O+;Z:M7[_X&P)__^G;A?<S$W5REA7>6*U8HZ=TGQ8U7W"CO
MCRS_*_G%O,L9*W26SP$XK5YVEMT^YLGU3>'YT _7P]9_S=_&E,8T0B'0 :<
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
MQ <Q4@4:'8W-Z;<14?M[%PB;&;TPCTY?K9])EO^OP>FK_P-02P,$%     @
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
M;\:&A;LP;X3P>'108^'#5GFZ8N7P!GP:AMAZ.@IP&@E;#.^$X/QF1?H<V&,
M%#_P1.93]L"S!*$!QJ7S$'[##2Z \VQ3+\(LJCA/%\-#\#Y%8,*WC_8,^-Y=
M'.(>H6B,R0@\ Y1'RQ!2.+OJ#B+<! YG65.EUBN#4GB@-R_2*Q;4(Z;+8/I7
M^KB[N=($Q,#ZYO&V/O 8NV=I,;=%($WC//2+#W@.K+!7<;9 1O\6HNK>#7/,
M-P.)E<2NSS<O8SX_D&! ,[CQ.<A#'I'C$7T,GI'W(C<IQ9P?I.*4KIE/82'
M6'U.Y?-$,X]/0A!Y-$\' 1$:QM,VN5UXQC<9BN@Q#SHND2OF2'D@=EQ8'M@Q
M,#D40&B?!Y@N%Z0EF?NE"9\B=^*Y"[!1LA"><_VK77U>9B>8WA?PA#F(;OE0
M[]>=2>8?ZU?'%_/'#S2*0B? " \@G][&T8 E#!'Y%GF6IT4&8R T-V+(9?]@
M?10^4EIVZCS*!@NP8.-I@(<L,-G*16%8(MOC CHB[UD_R=WD@>@FWSJUT!WH
M\?(%ID;<]KA-;E#W)!'Y B3A@\HE:#63BYLO=Z]%:"H#_IJ,XHBA;,9M6.#6
MBYYMOR:VUFEU+-LD%\#>%X:FOR9FSVEICJZ38#"3NLC.?X]XOBU/LTY?K\FX
MV0OEU)$HC280I=GFD,("$6!79DA!;NX'A;+BIE)Q/&"%2!,>G$R\$=AB?G&>
ME)L'63QD?$^HS'\.D9@*&ZLX?<3)OR_BH6G*392X2(F^YU[RCS^8O2OR:>$C
MS%H4RA6;%6QT6ZA,,F5]L'Y$@8^C 'L[]$N29L#G,IU.VQX'&_P8__A#Q[XJ
M+8ZV3""3?=MD^]-!]HN3;[4<Z/#1D^6!3 >=Q(^_?KCY)WG[\?.GCY^O[VX_
M?MCY=-:1YOGAR\??;M]=W]V\([]<_W;]X>T-^?+7FYN[+])-F//(!3>VP0X$
MU9^^WFF.F7 52M;@M[C#7$-WDK++\I<K/T@GH?MP&41\</[157&NK>"G-1$)
M/IYX/2?9MB;(MJ@]6(Q<O&[S5V4%K*5WMMZVNM6OM;9>^6Y3M[K1-K3.L[K=
M_,XR#S39[E;=;EG?\1!%QP3&CT3_G)BJTTI/4W;MD!!8T9)K(;!<>&Y],5A4
MP/NH!EM(#8Q,0EL"NC3P2;G.PY0TW7W(NM8[Y=B]_O)E4?>H K+?RRYO\R3!
M *"(@RYY"76$+N$_'?G 7"8G\XQ6]D<>W+LA^G./@;UF61K9DG2.KVY>;C/]
MQ6DG^/'IYZWWNE1SUJ;='Y0,?OQ![VHK#+:!E'< WC-X4%9B6P\\^8EM_;S!
M"*%=RSHX[@^AAPZ?F[B;FEHXVT'+K3[FSTJKO>QJU,:8,.:XZJ9!;<<I*RWP
MA^*4VN*9 +[U%T_YUA#?U,'=O8R$<5I6,M)6>G@46GC,>,9:F*_E+$GDH>50
M9WXMZ+F*PUH@<#TD=<.AIF,H&?,=,+SV^ %^3$'P&-AG_9 ]+1QZABVDC=4S
MGY TC9,:>L>DIN4HL5$##%:(#;U#]6Y',K$AJQ/W]Z@?A"'?T]M\+[#,A+">
ME4VJS:^\5HPL,?XJ? S:T633_K*R,6Z-1YBPQ:JO/):9 BJ4L653R[ 5#]<
M@Q7*N&M0HR=;G$!6+OZ4,'Y.?%8Y;'[DVEN*:3>(Q[M@;]O*3:\# M=#LMNC
MFN/(R.&FUC8LZ9C\+L[<<'=^WFI35!Y:J6!V';B]*YE"WQJR)Q,%-<-]A9RP
M>]1Q[-.BXD"QOB."$0]+>%ON')@=BVJF693'L#1J.ZN!?[5UL!HYZ&BTY_3D
M$E-22"+Y,%@1.^ATJ&%JDEDEDEDBGQ(\"9<!ST]"%VOD\ K"?^3!1%0#CEC6
M($?#Z=%.1\4#ZX# BEB"9M%>1S9/0S*>GI>0YK>W-C!>8%/34/&".B!P/21M
MB^JZ;!%!R;@8[R?!4W,-XENSUZ&.*9GKKQAW!TB:CDGUGJXX=_-&W$H9CH:9
MT1KM]LX^R[@6"*S*CS&H8\FVL2X9&[]C Y8DO- )+WJ3N=\:M;-N.@;5N\J,
MK@,&UT,2GE+XOV+CC=ZPN+N\:3ZP1365%5,+_%6XP%3K]23C7.EWS-=S\5YV
M2.4^>+C]VB0453IUP-3H69I<XDJR/?]:4O%N)QIK0L55J<B:;M.>OMEK.E;V
M0CE>,45G[X4>S E>^9EC$.-HE1ZV';,F]NAZ:?C;[?4OM[_=WMW>?"'7']Z1
M+W^]_GSSUX^_O;OY_*4H3TIN_O;WV[M_U;E@@63F0WG.-@Q$>=N J9H0!S]O
M.'$?\+"A*@5QFKT6JG7./K@C*ZTUK!*$3CN6.FVYM7A,\"J/\H!'@V)2MD[M
MKF1>G@I*[1*4,JAI*T;>C9$;NCUD6+3;4[F2=4!@U;E+ZFB;SUHH9E[9["UO
M N5%[8H+&HG/>"GIAK&W9BKVK@,"*U*Q=&H9LN50RLK>CU.B%^) #>+I'NU9
M*BVK#OA;#TF'=@TIK6^9]X2]U=#NN1REUKL.-7N2.=R2;:O6'_<5UKVETUYO
ML[2HY5'JHT%P\11U?!;V05>G9M>42UQ((1'D0V!EG17'ELVEEXRMFYZV;>@V
MU551PUI@L*HP09?V%!MO!M)G!M_=BP(D3>7D+JACQ<AU0& %(W=QBT3Q\;96
MMMOL'3.>O6>LO8U4,;1D&*QPJGO4-&4[E2$90XOS5,UTD'6J]0S%OS7 7X5"
M5D5(=PV?GV'8O&-;U)2M#)@*FQ\%!Y9N4JV[^<CTB<[P[.NV5FD/+$@F_][&
MXW$@*J>*;!_X F;+(F^3+%1PWA7.7T9NPD9Q"#R5E@><L,)D]E#[(SA;'R&0
MY2ZP3TD9'4^SV/M*R4NMK>EDXB;DW@US1EKD.L]&<8)%A#EZ"'1$4D1A^F39
MX"B>M4Q3=/3YW05YEF;P"ZRY<46"E<=?'PQ609)C4#*OH79R!75I'"T*%<U8
MD"H<ROK5BFPQ-8UJV\N7]5)%=*7;&NV8XEO=UJGE.-MUVSBA9'9T)9!J@+V*
MM-Z.*9DPDC6G]QIFF05QY(8$;TQJ 9M[[B3(W":53-6IAM46374101UP6+&K
M0#73IH:ZR'#KK?_,A8<^86X2P7R;M,/0<1QJ:BH'KPX8K(H@&M122GK[0[+Y
M. _=C,UN,8S'DX2-6)2"^<TO%>+ED?%>H<S]UB!6O[ -:MOV:\5TWT]&%QV+
MFF;WD+!LV+Y>6AEU/9=M/IU:NDTM36WTG>-&'V!?ZU#[B2+GDIV0D5ZJ+&0+
M\'#:HI3Y4X5\60:U ,^Z4G_UJGSYK/JM^UB\E))6Y@*O>P#Z<41Q,QGE625B
M:\\H>Z@A>T*ZY5KKIPRK-Y8;(PL[30M]>2S*6%* \,W/??QL<3MEX:L"$%8'
M(,6KJ00QS(6!:PA^X-4T\+-1 :7%KPH@:/-/W#ZL-\]6/ZF<Q.*_V'7@_^5%
M8+F:#5++-AW'ZWB^YQB#/K.[/;/O,[>O]?Y7UUZ4'XV2.>L.6:N?,/=KRQW
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
MAJ<RZH]/MXT005PJ^&P"S!?P+Y5,4C*I.3)I'IXZE93X,)M!+>7#4<4!G8L
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
MI5C/%/OQPMQG8AHX)O$Y!?0Q8X>%\70]VI]$[:DI@O=SB?L5@;<%C;QC !(
M/ )R\XK+0K&H\H3,6UV,>!1$/L#XLJ7WN,(]'L'C/>M&]VJ/9L]6 U\M@4;O
MM'FBXAT0EE<P#1!;GJ3EY>6$ZPB@,V#*($/F2<9 ^7G*[T0#W@)JS1XHF80N
M+,"-?,+^R(,),D.[\03Y6YRFY (/UH-F?GA-!DD\!H&5,(FITZ@1=9IMONZ/
M$?GO/&+$IL30#&-)QN-$=?L*I64P=I,'(.,H2[#PP=B-\@'\ K(UX=2<! P4
MAD]<CB*"(A\(6A N2.K;R(\CE@9NF[S+$U0].$PV9>$]:XVAUU$AF0F+,%7R
M'?/8N ]]FSJ?E[FL>Y J$FQ7D =F42[P$C;ETP N>MFC $K\/\X^#5*N^/"%
M0:WB!2H'X#:/,1_[\1B8;;X@N(51_X0*"+0)UXR>F\"H":Y-&'I"M;JDGZ<
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
MF"!; <+"48KS+ 5[:-$%*@?7E_$Y)Z"UJ/1%_)QR8RHK=0[0UW@1<:X/T@?
M+="[JK&6O+M%R<JB^P!8#U&"FH]_56C (6:"1"(%!H/W?JG<RH6 )!-V'I<X
M!&PL>(_"0S3 /BX,D#\%U:,)-B[V"E$RMH0 *+47+A-X&-<_+#8BDL+R!-R"
MPYVP41SZ+%DP1\6&'-*CV)@/15-NMQ5N*(^\)+E(CV'?1BYZ"/=":D\!8!%8
M>0D:#TD1"N%9LVC9%4$Q'RT<M&V !D FI(5=@98!0<D9)S,SCD?@/F%&SRUI
M$8Q!$_VZ-,2OHPAURV<>4T*]_QZ4)M&UUO^(5931([ W2S2)">%"D$Y"%X ,
M6CGGR80!1PR/'N-7*5J93[O)((G<KS X -I-R^"-CP8'DOGR1'"]F,N4\@%B
MH/KA+/DIS?LIW^+->#P:4+0Q8"1@&G(IB'D47B$ZQ$[O+"Z$7C2L</%!R4[)
M<MB!<+]R/GN^_$=!#[ZBO84PMTNW-XP7SW%03Y3_?MT',07X'D;+^]#;Q>\Q
M-+\F?K_72+#!_]M[D']UR>2BB-<]RHG$F!T07_%2?%<\?UTDY151L7@,Q@)*
M3YA'NI1N(+Q) !WZ5B!BQ[.PZ1B=;R\1?L>"+5;*Q"5G9F[VM,D_&"=QEX0@
M)+!UH3>+)'V>E3!&?R "N1QPF;7L"&&<ATL9D;,_Q@^Y^@#.FR5NE+8@2#5N
M&PJGO3776'-' H1R@J9AX1LNVFZHSF?Q#YC[1Q"&\_%!Z6. 8_20<A@\FN4@
MF[J%N^!.9M8V>'OAPW_XRE"D+O@?5.Q>\0,/A3'-K<G9SO83,,Y<]/<&W+@M
M+==IG(3^-/!Y(F4%2!-N[?!]QF(\X8TN#X>>R^)H11:*][6(%/KE#C'?V:%"
MJH&<'L=@%X!A/\+$6EK8RV"#W#,0ZB&&=]%D"TKCIU70(GP!?8-N@V_ZH%EC
MCZM].HOTBS\B$>3%W[E'P!-^"L=UO++F($5J 17F%NFIN+<4>'/K4"B:40Y+
M7_PF FD,]"0VF\:,H<O"+=_YZ1#D8%K8\]X#MZE@:KB7$2?"T"NE_Y0'CU$)
MX320PG@8*W71^^7:8D:Z@K(7M8*(.#!_53?41W(%:;GM$OI_2KD4$!G*@NB6
M,2;X$  ZXO AF!LU 6(=Q\A:8+F33MLB,,60-Q_SZ"TW/>?!PX05QV@XJ:*K
M^U+72;_\!IV!<2X"SO- -P@'3_"!-\NK'I2!!?A&=WIZF_P5)@_H2M"*YQ;4
M!^C&^TJ!\M(4EI)C/C1,X>]?KFFIK$;<>AD$7D'S,[9":XP3.C+C"%3J<(0Z
M#N=P#3P!A H]W>3HX MRO^:9ZN^1-;FA!Z\1;C.U"+82PM+-CKTC_.(-F4ZG
M;8]/ WZ,-TS@0,1V_)R<$QE"M]PG!QIX"TU=;]M$U41TX6RR@XZVLO4H!%Y"
M!O_=>\LM;F[(Z&#3(-.ARIFM_'.9.,FYXBX1:9_)J0]NKE_5?_-3B^07/,?+
MDMFBOB3E68>$KEF9G&O9POR68IY!\N,/W<[5JCS:X;SO9ND@QS;F3_W8?X ?
MHVP<OOG_4$L! A0#%     @ VX1,6E(IB:"=#P  UG$  !$
M ( !     &-G;G@M,C R-3 R,3(N:'1M4$L! A0#%     @ VX1,6CYHWP26
M @  B@D  !$              ( !S \  &-G;G@M,C R-3 R,3(N>'-D4$L!
M A0#%     @ VX1,6L"=_]NV P  WA(  !4              ( !D1(  &-G
M;G@M,C R-3 R,3)?9&5F+GAM;%!+ 0(4 Q0    ( -N$3%K7L->:8PL  *=B
M   5              "  7H6  !C9VYX+3(P,C4P,C$R7VQA8BYX;6Q02P$"
M% ,4    " #;A$Q:N'K"^[4'  !E.P  %0              @ $0(@  8V=N
M>"TR,#(U,#(Q,E]P<F4N>&UL4$L! A0#%     @ VX1,6DFWU/**2@  9" %
M !X              ( !^"D  &5X:&EB:70Y.3$M<30R,#(T96%R;FEN9W-R
:+FAT;5!+!08     !@ & ),!  "^=      !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>cgnx-20250212_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="cgnx-20250212.xsd" xlink:type="simple"/>
    <context id="c-1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <startDate>2025-02-12</startDate>
            <endDate>2025-02-12</endDate>
        </period>
    </context>
    <dei:EntityCentralIndexKey contextRef="c-1" id="f-21">0000851205</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="c-1" id="f-22">false</dei:AmendmentFlag>
    <dei:DocumentType contextRef="c-1" id="f-1">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate contextRef="c-1" id="f-2">2025-02-12</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName contextRef="c-1" id="f-3">Cognex Corporation</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="c-1" id="f-4">MA</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber contextRef="c-1" id="f-5">001-34218</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber contextRef="c-1" id="f-6">04-2713778</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="c-1" id="f-7">One Vision Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="c-1" id="f-8">Natick</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="c-1" id="f-9">MA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="c-1" id="f-10">01760-2059</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="c-1" id="f-11">508</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="c-1" id="f-12">650-3000</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 $.002 per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="c-1" id="f-18">CGNX</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="c-1" id="f-19">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany contextRef="c-1" id="f-20">false</dei:EntityEmergingGrowthCompany>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
